Подготовка дат в 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 minutes read Sodium Carbonate

Comments (0)

No comments yet
Only registered users can post new comments

Content author

webitproff

Offline

Sodium Carbonate

Last logged: 2026-09-01 22:41

About me briefly
Support and development of web projects on the CMF Cotonti: private messengers via the website, open and closed small social networks, trading platforms and marketplaces, freelance and services exchange portal, catalogs of goods from wholesale suppliers, dropshipping platforms, online stores, and much more.
View developments and download
Public portfolio of my works and developments
Telegram for messages
@webitproff
Telegram channel
@s/aBuyFILE
  • Page published: 2026-03-01 01:12
  • Last update: 2026-03-01 01:12

Similar pages

Преобразование Дат в 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 все даты внутри базы