Подготовка дат в Excel и Google Таблицах для импорта в Cotonti

Данный материал предназначен для администраторов сайтов и контент-менеджеров, которые выполняют импорт товаров, статей или других записей в Cotonti. Задача — научиться корректно преобразовывать любые даты

Подготовка дат в Excel и Google Таблицах для импорта в Cotonti

Цель документа

Данный материал предназначен для администраторов сайтов и контент-менеджеров, которые выполняют импорт товаров, статей или других записей в Cotonti из CSV-файлов, Excel или Google Таблиц.

Задача — научиться корректно преобразовывать любые даты:

  • стандартные (2024-01-11 12:16:32)
  • локальные (11.01.2024)
  • текстовые (11 января 2024)
  • неполные (2024-01-11)
  • с временем и без времени

в UNIX timestamp — числовой формат, который Cotonti хранит в базе данных (в полях типа INT: page_date, page_begin, page_expire, page_updated).


1. Почему для Cotonti нужен именно timestamp

В базе Cotonti даты хранятся так:

 
1704948992
1639236600
1699716120
 

Это не строка. Это число секунд с 01.01.1970 00:00:00 (UTC).

Если при импорте в CSV вы передадите:

 
2024-01-11
 

или

 
0000-00-00
 

— Cotonti либо не сможет корректно обработать дату, либо преобразует её в 0, либо возникнут ошибки логики публикации.

Поэтому перед импортом необходимо:

  1. Преобразовать дату в число.
  2. Проверить, что это именно целое значение.
  3. Убедиться, что в CSV нет текстового формата.

2. Общая схема подготовки дат

Любая дата перед импортом проходит три этапа:

  1. Исходная строка (Excel/Google Sheets)
  2. Преобразование в числовое представление
  3. Экспорт в CSV как число без кавычек

3. Как Excel хранит даты на самом деле

Excel не хранит дату как строку.
Он хранит её как число — количество дней с 1 января 1900 года.

Пример:

ОтображениеРеальное число
11.01.202445299
01.01.197025569

Чтобы получить UNIX timestamp, нужно:

  1. Вычесть дату 01.01.1970
  2. Умножить результат на 86400 (секунд в сутках)

4. Стандартная формула Excel для перевода даты в UNIX timestamp

Если в ячейке A1 находится дата:

 
11.01.2024 12:16:32
 

Используйте формулу:

 
=(A1-ДАТА(1970;1;1))*86400
 

или в английской версии Excel:

 
=(A1-DATE(1970,1,1))*86400
 

После этого:

  • Установите формат ячейки: Числовой
  • Уберите дробную часть (округление до целого)

Пример результата:

 
1704948992
 

Это уже корректный формат для Cotonti.


5. Если дата содержит время

Если в A1:

 
11.01.2024 12:16
 

Формула та же:

 
=(A1-ДАТА(1970;1;1))*86400
 

Excel учитывает долю суток автоматически.


6. Если дата в текстовом формате (не распознаётся Excel)

Иногда при импорте CSV дата отображается как текст:

 
11.01.2024
 

и Excel не считает её датой.

Способ 1 — преобразовать через "Текст по столбцам"

  1. Выделить столбец
  2. Данные → Текст по столбцам
  3. Выбрать формат "Дата"
  4. Указать порядок ДМГ

После этого Excel преобразует строку в настоящую дату.


Способ 2 — использовать функцию DATEVALUE

Если A1 содержит текст:

 
11.01.2024
 

Используйте:

 
=DATEVALUE(A1)
 

Затем примените формулу перевода в timestamp.


7. Если формат нестандартный

Пример 1:

 
2024/01/11
 

Excel обычно распознаёт автоматически.

Если нет:

 
=DATEVALUE(SUBSTITUTE(A1,"/","-"))
 

Пример 2:

 
11 января 2024
 

Если Excel не распознаёт, нужно:

  1. Убедиться, что язык системы совпадает
  2. Либо заменить месяц на числовой

Пример 3:

 
20240111
 

Используем:

 
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
 

После получения даты — применяем формулу timestamp.


8. Google Таблицы — преобразование дат

В Google Sheets формула почти аналогична.

Если A1 — дата:

 
=(A1-DATE(1970,1,1))*86400
 

Важно:

  • Установить формат ячейки "Число"
  • Округлить:
 
=ROUND((A1-DATE(1970,1,1))*86400)
 

9. Преобразование даты с текстом в Google Sheets

Если A1 содержит текст:

 
11.01.2024 12:16
 

Используйте:

 
=ROUND((DATEVALUE(A1)+TIMEVALUE(A1)-DATE(1970,1,1))*86400)
 

10. Если в таблице есть '0000-00-00'

Это не дата.

Excel не сможет корректно её преобразовать.

Правильная стратегия:

  1. Заменить такие значения на пустые.
  2. Или заменить на 0.
  3. Или заменить на реальную дату.

Формула для очистки:

 
=IF(A1="0000-00-00",0,(A1-DATE(1970,1,1))*86400)
 

11. Проверка корректности перед экспортом

Перед сохранением CSV убедитесь:

  • В столбце нет строк
  • Нет кавычек
  • Нет формата "Дата"
  • Только целые числа

Пример правильного столбца:

 
1704948992
1699716120
1639236600
0
 

12. Что делать, если дата отсутствует

В Cotonti отсутствие даты обозначается:

 
0
 

Это корректное значение.

Не используйте:

 
0000-00-00
0000-00-00 00:00:00
NULL (как текст)
 

13. Обратная конвертация (для проверки)

Если нужно проверить timestamp:

В Excel:

 
=A1/86400+DATE(1970,1,1)
 

Установите формат ячейки "Дата и время".

Пример:

 
1704948992 → 11.01.2024 12:16:32
 

14. Практический пример импорта

Исходная таблица:

titlepublish_date
Статья 111.01.2024 12:16
Статья 215.02.2024 09:00

Добавляем столбец:

| publish_timestamp |

Формула:

 
=ROUND((B2-DATE(1970,1,1))*86400)
 

Получаем:

publish_timestamp
1704948992
1707987600

Экспортируем CSV:

 
title;page_date
Статья 1;1704948992
Статья 2;1707987600
 

Импортируем в Cotonti.

В базе хранится корректный INT.

При просмотре страницы дата выводится корректно с учётом часового пояса пользователя.


15. Типовые ошибки при импорте

  1. Экспорт даты в формате 11.01.2024
  2. Использование 0000-00-00
  3. Сохранение столбца как текст
  4. Использование дробных чисел
  5. Сохранение CSV в формате, меняющем разделители

16. Рекомендованный рабочий алгоритм

  1. Импортируйте данные в Excel.
  2. Убедитесь, что даты распознаны как даты.
  3. Создайте новый столбец для timestamp.
  4. Примените формулу.
  5. Округлите.
  6. Проверьте отсутствие строк.
  7. Экспортируйте CSV.
  8. Импортируйте в Cotonti.

Заключение

Для корректной работы Cotonti:

  • В базе должны храниться только UNIX timestamp.
  • CSV должен содержать только числа.
  • Excel и Google Таблицы должны использовать формулу перевода в секунды.
  • Значение 0 допустимо.
  • Значения вида 0000-00-00 недопустимы.

Соблюдение этих правил гарантирует:

  • корректную публикацию,
  • правильную сортировку,
  • корректную работу отложенных дат,
  • правильное отображение пользователю.

При массовом импорте это особенно критично, поскольку даже небольшая ошибка формата может привести к массовым сбоям отображения дат на сайте.

4 минут чтения Sodium Carbonate

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

webitproff

Онлайн

Sodium Carbonate

Последняя авторизация: 19.07.2026 00:02

  • Страница размещена: 01.03.2026 01:12
  • Последнее обновление: 01.03.2026 01:12

Похожие страницы

Преобразование Дат в Excel и Google Sheets
1 Преобразование Дат в Excel и Google Sheets для Импорта в CotontiЭта документация фокусируется на практических
CVS-Tools для Cotonti. Импорт и экспорт из CVS или Excel файла
2 Как выполнить экспорт товаров или статей в Cotonti CMS и после выполнить импорт из CVS или Excel файла в базу данных
Примеры использования тегов для вывода дат разных форматов в шаблонах
3 Примеры использования стандартных форматов в шаблонахНиже приведены примеры шаблонных тегов для каждого
Форматирование дат и времени в Cotonti
4 Форматирование дат и времени в CotontiВ Cotonti даты и время по умолчанию отображаются в удобном для большинства
Вывод дат в шаблонах Cotonti (Форматы и примеры в тегах)
5 Вывод дат в шаблонах CotontiНастройка формата отображения: локально и глобальноВ системе Cotonti все даты внутри базы