Timestamp в 1С

 

Timestamp-ом в народе называют способ хранения даты в виде количества секунд прошедших с момента начала «эры UNIX» — полночь 1-го января 1970-го года (01.01.1970 00:00:00).

Начало «эры UNIX» является своеобразным «нулем» — точкой отсчета на оси времени. Следовательно, если возникает необходимость записать более раннюю дату (чем начало «эры UNIX»), то используется все тот же принцип (разность дат в секундах) и результат записывается со знаком «минус».

В 1С  нет штатных инструментов работы с датами в формате timestamp. Но, к счастью, штатный тип данных «Дата» позволяет производить с ним такие операции, как сложение и вычитание, и, по сути, является количеством секунд прошедших с начала нашей эры — 00.00.0000 00:00:00.

Все это позволяет написать простую до смешного функцию, которая будет переводить в формат timestamp дату, указанную в параметре или текущую дату, если параметр не указан.

Обратное преобразование также не вызывает каких-либо затруднений.

На этом все, надеюсь данная статья Вам помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 14, средняя оценка: 4,43 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Ерлан

    Дата в TimeStamp сразу преобразовалась правильно
    А вот обратное преобразование в этом варианте работает для секунд. Если нужно преобразовать из миллисекунд, то должно быть
    Возврат Дата(«19700101»)+?(ТипЗнч(пДатаТС) = Тип(«Строка»), Число(пДатаТС), пДатаТС)/1000.
    Спасибо за помощь!

  2. Алексей

    Что за форматолюбство? Здесь достаточно XMLСтрока(). И работать будет быстрее.

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: