Преобразование Дат в Excel и Google Sheets

Инструкция с примерами и формулами как конвертировать различные форматы дат и времени в Excel или Google Sheets, перед экспортом в CSV для импорта статей и товаров в CMF Cotonti

Преобразование Дат в Excel и Google Sheets для Импорта в Cotonti

Эта документация фокусируется на практических инструкциях по преобразованию дат в формат UNIX timestamp (целое число секунд с 01.01.1970 00:00:00 UTC) для Cotonti. Мы минимизируем текст, акцентируя на примерах. Cotonti хранит даты как int (timestamp), так что преобразуйте строки дат в числа для корректного импорта в БД (например, в таблицы вроде cot_pages). После импорта даты будут правильно храниться (как числа) и отображаться (через cot_date с учетом пояса и локали).

Используйте эти шаги в Excel или Google Sheets перед экспортом в CSV для импорта. Предполагаем, что исходные даты в столбце A. Результат — в столбце B как число. Учитывайте, что Excel/Google Sheets используют UTC по умолчанию; часовые пояса обрабатываются в Cotonti позже.

Инструкции для Excel

  1. Откройте файл, вставьте даты в столбец A.
  2. В столбце B примените формулу для преобразования.
  3. Базовая формула для даты (без времени): =(ДАТАЗНАЧ(A1) - ДАТА(1970;1;1)) * 86400
  4. Для даты с временем: =(A1 - ДАТА(1970;1;1)) * 86400, если A1 распознан как дата/время.
  5. Для нестандартных строк: Используйте ТЕКСТ, ЗАМЕНИТЬ или ДАТА для парсинга.
  6. Для '0000-00-00': =ЕСЛИ(A1="0000-00-00";0;(ДАТАЗНАЧ(A1)-ДАТА(1970;1;1))*86400)
  7. Скопируйте формулу вниз, затем скопируйте значения (Правой кнопкой > Специальная вставка > Значения) для чисел.
  8. Экспортируйте в CSV с разделителем ";" или ",".

Инструкции для Google Sheets

  1. Откройте таблицу, даты в A.
  2. В B: Формулы аналогичны Excel, но с ";" вместо "," в аргументах.
  3. Базовая: =(DATEVALUE(A1) - DATE(1970;1;1)) * 86400
  4. С временем: =(A1 - DATE(1970;1;1)) * 86400
  5. Для '0000-00-00': =IF(A1="0000-00-00";0;(DATEVALUE(A1)-DATE(1970;1;1))*86400)
  6. Скопируйте, вставьте как значения (Правка > Специальная вставка > Только значения).
  7. Экспорт: Файл > Скачать > CSV.

Теперь — множество примеров. Каждый включает исходную дату (A1), формулу, результат (timestamp) и как это отобразится в Cotonti (пример вывода через cot_date("d.m.Y H:i") с поясом +0 UTC). Импортируйте результат в поля вроде page_begin.

Примеры для Excel и Google Sheets (формулы идентичны)

Пример 1: Стандартная дата MySQL (Y-m-d). A1: "2023-12-31" Формула: =(ДАТАЗНАЧ(A1) - ДАТА(1970;1;1)) * 86400 Результат: 1703980800 Хранение в БД: 1703980800 (int) Вывод в Cotonti: "31.12.2023 00:00"

Пример 2: Дата с временем (Y-m-d H:i:s). A1: "2023-12-31 23:59:59" (введите как текст или дату) Формула: =(ДАТАЗНАЧ(ЛЕВ(A1;10)) + ВРЕМЯЗНАЧ(ПРАВ(A1;8)) - ДАТА(1970;1;1)) * 86400 Результат: 1704067199 Хранение: 1704067199 Вывод: "31.12.2023 23:59"

Пример 3: Нестандартная дата (d.m.Y). A1: "31.12.2023" Формула: =(ДАТА(ПРАВ(A1;4);СЖПРОБЕЛЫ(СРЕД(A1;4;2));ЛЕВ(A1;2)) - ДАТА(1970;1;1)) * 86400 Результат: 1703980800 Хранение: 1703980800 Вывод: "31.12.2023 00:00"

Пример 4: Английская дата (Month d, Y). A1: "December 31, 2023" Формула: =(ДАТАЗНАЧ(A1) - ДАТА(1970;1;1)) * 86400 (Excel распознает автоматически) Результат: 1703980800 Хранение: 1703980800 Вывод: "31.12.2023 00:00"

Пример 5: Русская дата (d месяца Y). A1: "31 декабря 2023" Формула: Сначала замените месяц: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"декабря";"December");" ";" "), затем примените ДАТАЗНАЧ к результату и базовую формулу. Полная: =(ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;"декабря";"12")) - ДАТА(1970;1;1)) * 86400 (для декабря; создайте SWITCH для месяцев). Результат: 1703980800 Хранение: 1703980800 Вывод: "31 декабря 2023 00:00" (с локализацией)

Пример 6: Нулевая дата. A1: "0000-00-00" Формула: =ЕСЛИ(A1="0000-00-00";0; (ДАТАЗНАЧ(A1)-ДАТА(1970;1;1))*86400) Результат: 0 Хранение: 0 Вывод: "01.01.1970 00:00" или "Не указано" (в шаблоне if >0)

Пример 7: Нулевая с временем. A1: "0000-00-00 00:00:00" Формула: =ЕСЛИ(ЛЕВ(A1;10)="0000-00-00";0; (ДАТАЗНАЧ(ЛЕВ(A1;10)) + ВРЕМЯЗНАЧ(СРЕД(A1;12;8)) - ДАТА(1970;1;1)) * 86400) Результат: 0 Хранение: 0 Вывод: "01.01.1970 00:00"

Пример 8: Дата до 1970 (историческая). A1: "1969-12-31" Формула: =(ДАТАЗНАЧ(A1) - ДАТА(1970;1;1)) * 86400 (даст отрицательное) Результат: -86400 Хранение: В Cotonti UNSIGNED int — установите 0 или используйте отдельное поле (Cotonti не поддерживает отрицательные timestamps напрямую). Вывод: Если 0 — "01.01.1970 00:00"

Пример 9: Дата с временем в формате d/m/Y H:i. A1: "31/12/2023 15:30" Формула: =(ДАТА(ПРАВ(A1;4);СРЕД(A1;4;2);ЛЕВ(A1;2)) + ВРЕМЯЗНАЧ(ПРАВ(A1;5)) - ДАТА(1970;1;1)) * 86400 Результат: 1704036600 Хранение: 1704036600 Вывод: "31.12.2023 15:30"

Пример 10: Пустая дата. A1: "" (пусто) Формула: =ЕСЛИ(ПУСТО(A1);0; (ДАТАЗНАЧ(A1)-ДАТА(1970;1;1))*86400) Результат: 0 Хранение: 0 Вывод: "Не указано"

Пример 11: Дата в ISO (Y-m-d\TH:i:s). A1: "2023-12-31T23:59:59" Формула: =(ДАТАЗНАЧ(ЛЕВ(A1;10)) + ВРЕМЯЗНАЧ(СРЕД(A1;12;8)) - ДАТА(1970;1;1)) * 86400 Результат: 1704067199 Хранение: 1704067199 Вывод: "31.12.2023 23:59"

Пример 12: Нестандартная с днем недели. A1: "Sun, 31 Dec 2023" Формула: =(ДАТАЗНАЧ(ПРАВ(A1;11)) - ДАТА(1970;1;1)) * 86400 (игнорируя день недели) Результат: 1703980800 Хранение: 1703980800 Вывод: "31.12.2023 00:00"

Пример 13: Массовое для '0000-00-00 00:00'. A1: "0000-00-00 00:00" Формула: =ЕСЛИ(ЛЕВ(A1;10)="0000-00-00";0; (ДАТАЗНАЧ(ЛЕВ(A1;10))-ДАТА(1970;1;1))*86400) Результат: 0 Хранение: 0 Вывод: "01.01.1970 00:00"

Пример 14: Будущая дата. A1: "2026-02-28" Формула: =(ДАТАЗНАЧ(A1) - ДАТА(1970;1;1)) * 86400 Результат: 1709208000 Хранение: 1709208000 Вывод: "28.02.2026 00:00"

Пример 15: Дата с миллисекундами (игнорируем ms). A1: "2023-12-31 23:59:59.999" Формула: =(ДАТАЗНАЧ(ЛЕВ(A1;10)) + ВРЕМЯЗНАЧ(СРЕД(A1;12;8)) - ДАТА(1970;1;1)) * 86400 Результат: 1704067199 Хранение: 1704067199 Вывод: "31.12.2023 23:59"

Пример 16: Русская полная дата. A1: "31 декабря 2023 г. 15:30:00" Формула: Сначала mappa месяцев (декабря=12), затем: =(ДАТА(2023;12;31) + ВРЕМЯ(15;30;0) - ДАТА(1970;1;1)) * 86400 (адаптируйте). Результат: 1704036600 Хранение: 1704036600 Вывод: "31.12.2023 15:30"

Пример 17: Ошибочная дата (исправление). A1: "32.12.2023" (недействительная) Формула: =ЕСЛИОШИБКА((ДАТА(ПРАВ(A1;4);СРЕД(A1;4;2);ЛЕВ(A1;2))-ДАТА(1970;1;1))*86400;0) Результат: 0 (из-за ошибки) Хранение: 0 Вывод: "Не указано"

Пример 18: Текущая дата (авто). A1: =СЕГОДНЯ() (получит 28.02.2026) Формула: =(A1 - ДАТА(1970;1;1)) * 86400 Результат: 1709208000 (для 28.02.2026 00:00) Хранение: 1709208000 Вывод: "28.02.2026 00:00"

Пример 19: Дата из текста с разделителями. A1: "2023/12/31" Формула: =(ДАТА(ЛЕВ(A1;4);СРЕД(A1;6;2);ПРАВ(A1;2)) - ДАТА(1970;1;1)) * 86400 Результат: 1703980800 Хранение: 1703980800 Вывод: "31.12.2023 00:00"

Пример 20: Нулевая вариация. A1: "0000-00-00 00:00:00" Формула: =ЕСЛИ(И(ЛЕВ(A1;4)="0000";СРЕД(A1;6;2)="00";СРЕД(A1;9;2)="00");0;(ДАТАЗНАЧ(ЛЕВ(A1;10))+ВРЕМЯЗНАЧ(СРЕД(A1;12;8))-ДАТА(1970;1;1))*86400) Результат: 0 Хранение: 0 Вывод: "01.01.1970 00:00"

Эти примеры покрывают большинство случаев. Тестируйте формулы на ваших данных, корректируйте для специфических форматов. После импорта в Cotonti проверьте в БД (SELECT page_begin FROM cot_pages) и на страницах (должны отображаться правильно с учетом пояса). Если ошибки — вернитесь к 0 для проблемных дат.

 

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

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

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

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

webitproff

Онлайн

Sodium Carbonate

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

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

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

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