Универсальное время и timestamp

Понадобилось в MY SQL заполнять поле типа timestamp сегодняшней датой.

Почитал в интернете, что это за тип такой:

Хранит 4-байтное целое число, равное количеству секунд, прошедших с полуночи 1 января 1970 года по усреднённому времени Гринвича (т.е. нулевой часовой пояс, точка отсчёта часовых поясов). При получении из базы отображается с учётом часового пояса. Часовой пояс может быть задан в операционной системе, глобальных настройках MySQL или в конкретной сессии. Запомните, что сохраняется всегда количество секунд по UTC (универсальное координированное время, солнечное время на меридиане Гринвича), а не по локальному часовому поясу.

Прикинул и написал на 1С такую функцию, которая преобразует любую дату в timestamp:

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

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *