Доброго дня. Столкнулся с непониманием как устроен тип Time Stamp.
1. Чем отличаются Absloute и Relative time?
2. Чем отличается Time Stamp от Double, представленном как время (Display format - Absolute time).
3. Можно ли складывать и вычитать тайм стэмпы привычным образом? Или надо обязательно выдёргивать часы, минуты, секунды и писать логику временной арифметики?
Я, например, хочу из 12:00 вычесть 13:00 и получить 23:00.
Арифметические операции с датой и временем
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Арифметические операции с датой и временем
По-моему погуглить быстрее.
https://www.ni.com/ru-ru/support/docume ... rview.html
Как очевидно из названия абсолютностью и относительностью.1. Чем отличаются Absloute и Relative time?
Абсолютное - это то самое "время", например, ваш пост "Сегодня, 10:40"
Относительное - это количество секунд, которое прошло с чего-нибудь, например, ваш пост юыл 4 часа назад
Примерно всем, см первый ответ.2. Чем отличается Time Stamp от Double, представленном как время (Display format - Absolute time).
Time Stamp - это способ хранения абсолютного времени, в данном случае выбран способ хранения "время с...", но пользователю предоставляется удобный "сервис", так что он ничего и не замечает и видит "как бы" дату и время, причём в некоторых вариантах может прям словами месяц видеть.
Double - это просто double, число двойной точности. Если его интерпретировтаь как абсолютное время, то оно будет работать как "секунды с..."
А попробовать религия не позволяет?3. Можно ли складывать и вычитать тайм стэмпы привычным образом? Или надо обязательно выдёргивать часы, минуты, секунды и писать логику временной арифметики?
Это как? 12-13=-1, а никак не 23.Я, например, хочу из 12:00 вычесть 13:00 и получить 23:00.
Если числа - это полноценные Time Stamp (=в них есть ДАТА), то вычитание пройдёт корректно, но будет уже не дата, а "количество" времени между этими точками, т.е количество секунд.
Складывать уже не получится, при сложении временем может быть только одно из слагаемых, второе будет уже секунды.
-
- user
- Сообщения: 70
- Зарегистрирован: 22 ноя 2017, 10:29
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Поблагодарили: 2 раза
- Контактная информация:
Re: Арифметические операции с датой и временем
Так, ну вот есть две временные точки. 14:00 1 сентября и 13:15 2 сентября.
Как посчитать, сколько между ними прошло времени?
Вычитаем, получает дабл, его можно отобразить как время, ок. Но как получить TimeStamp с таким же временем?
Как посчитать, сколько между ними прошло времени?
Вычитаем, получает дабл, его можно отобразить как время, ок. Но как получить TimeStamp с таким же временем?
- Вложения
-
- Untitled 1.vi
- (5.18 КБ) 55 скачиваний
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Арифметические операции с датой и временем
Вы пытались осознать то, что я написал?
"Сегодня" минус "вчера" получатся секунда, а никак не "позавчера" или любая другая дата.
Если вам нужно "расстояние" между двумя точками, то вычтаете их, получаете секунды.
Если вам нужно "сдвинуть" дату, то нужно к этой дате плюс/минус СЕКУНДЫ, а не другую дату, тогда на выходе остаётся дата.
Именно так и посчитать - ВЫЧИТАНИЕМ. Получится количество секунд между этими точкамиКак посчитать, сколько между ними прошло времени?
И как вы себе это представляете? Каким "таким же"?Но как получить TimeStamp с таким же временем?
"Сегодня" минус "вчера" получатся секунда, а никак не "позавчера" или любая другая дата.
Если вам нужно "расстояние" между двумя точками, то вычтаете их, получаете секунды.
Если вам нужно "сдвинуть" дату, то нужно к этой дате плюс/минус СЕКУНДЫ, а не другую дату, тогда на выходе остаётся дата.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Арифметические операции с датой и временем
формат хранения в Double даты-времени это количество секунд с 0 часов и нуля минут 1 января 1904 года по Гринвичу. В московском часовом поясе это 3 часа 1.01.1904
К примеру, формат хранения даты-времени у Microsoft в Double это количество суток, начиная с 1 января 1900 года.
К примеру, формат хранения даты-времени у Microsoft в Double это количество суток, начиная с 1 января 1900 года.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 334 Просмотры
-
Последнее сообщение ARES