Универсальное время и timestamp
Понадобилось в MY SQL заполнять поле типа timestamp сегодняшней датой.
Почитал в интернете, что это за тип такой:
Хранит 4-байтное целое число, равное количеству секунд, прошедших с полуночи 1 января 1970 года по усреднённому времени Гринвича (т.е. нулевой часовой пояс, точка отсчёта часовых поясов). При получении из базы отображается с учётом часового пояса. Часовой пояс может быть задан в операционной системе, глобальных настройках MySQL или в конкретной сессии. Запомните, что сохраняется всегда количество секунд по UTC (универсальное координированное время, солнечное время на меридиане Гринвича), а не по локальному часовому поясу.
Прикинул и написал на 1С такую функцию, которая преобразует любую дату в timestamp:
Функция TimeStamp(Дата = Неопределено) Экспорт
Если Дата = Неопределено Тогда
Дата = ТекущаяДата();
КонецЕсли;
//Хранит 4-байтное целое число, равное количеству секунд, прошедших с полуночи 1 января 1970 года по усреднённому времени Гринвича (т.е. нулевой часовой пояс, точка отсчёта часовых поясов). При получении из базы отображается с учётом часового пояса. Часовой пояс может быть задан в операционной системе, глобальных настройках MySQL или в конкретной сессии. Запомните, что сохраняется всегда количество секунд по UTC (универсальное координированное время, солнечное время на меридиане Гринвича), а не по локальному часовому поясу. Пример:
Сейчас = УниверсальноеВремя(Дата, «GMT+0»);
ПрошлоСекунд = Сейчас — ‘19700101’;
Возврат Формат(ПрошлоСекунд, «ЧДЦ=0; ЧГ=»);
КонецФункции
Свежие комментарии