Добрый день! Ребят, ну помогите победить беду. Пытаюсь из unixtime получить читабельную дату.
Делаю так :
Дата1С = дата(1970,1,1,1,0,0) + 637746530810000000;
Получаю 01.01.0001 0:00:00 , а должно быть 09.12.2021 13:24:41 Это знаю так как с этой базой работает другая программа и там показывает 09.12.2021 13:24:41.
Советовали Так →
Дата1С = дата(1970,1,1,1,0,0) + 637746530810000000/1000;
= 31.12.9999 23:59:59
Тоже не то. Помогите люди добрые конвертнуть в читаемый вид.
Орфографическая ошибка в unixtime (найдено 2): unixtime Орфографическая ошибка в конвертнуть: конвертнуть
Строка в дату по форматной строке
Конвертация даты из формата ISO8601 в дату 1С с учетом миллисекунд
Функции преобразования ЗаписьJSON
ДополнительныеПравилаПреобразования (БСП)
ПреобразованиеЗначенийJSON (БСП)
#1, ред. 11 декабря 2021 13:35
Откуда у вас такая цифра космическая получилась "637746530810000000"?
637746530810000000 / 86400 (количество секунд в сутках) / 365 (условно количество дней в году) = 20222809830 лет, на какой вы результат рассчитывали добавляя это число?) Чтобы получить 09.12.2021 13:24:41 из дата(1970,1,1,0,0,0) нужно добавить 1 639 056 281. Вы видимо не то значение приняли за время unixtime.
#2, ред. 11 декабря 2021 13:54
(1) Zloyka, а вот и нет, от разработчиков узнал что это число дата в unixtime. Это микроконтролер записывает данные при событии.
#3, ред. 11 декабря 2021 14:28
(2) Washington, unixtime это количество секунд прошедшее начиная с 01.01.1970.
https://ru.wikipedia.org/wiki/Unix-время
А вот конвертер
https://i-leon.ru/tools/time
Попробуйте конвертировать ваше число)
Ткните вашего разработчика в эту статью, в этот конвертер и в ваше число.
А вот Unix Time в прямом эфире https://www.unixtimestamp.com/index.php
#4, ред. 11 декабря 2021 16:05
(2) Washington, timestamp может быть в секундах, милли, микро и наносекундах. Ваш похож на timestamp в наносекундах. Посмотрите документацию по контроллеру. В зависимости от этого уже делить на необходимое количество разрядов.
Как правильно посоветовали выше, есть онлайн конвертеры для проверки.
Вот еще один https://www.epochconverter.com/
#5, ред. 11 декабря 2021 20:06
Насколько я понимаю, это не совсем unixtime
Дата1С = '00010101'+637746530810000000 / 10000000; //09.12.2021 13:24:41
Похоже на ToUniversalTime() в Microsoft .NET
#6, ред. 11 декабря 2021 20:39
(5) Aleks.spb, да, действительно похоже на Ticks. Если выполнить преобразование в DateTime то получается 2021-12-09T13:24:41
Проверить можно в онлайн конвертере https://tickstodatetime.azurewebsites.net/
Судя по всему у Вас верный ответ ))
#8, 13 декабря 2021 14:24
(5) Aleks.spb, Вот спасибо Вам огромное, всё четко работает . А разработчик так и не дал внятного ответа.