Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Дельта T / 15 сообщений из 15, страница 1 из 1
28.08.2009, 20:54
    #36168766
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Надо точно определить разницу во времени, желательно до милисекунд (мс). Хотя бы до секунд, тоже неплохо.
Задаем например T1="20.08.09 20:00:43" и Т2="21.08.09 21:37:27". Т2-Т1 - получаем некий Long. Уже на минутах точно не сходится. И вообще 14 значащих цифирь после запятой. Не фокус сделать процедуру считающую точно. Но м.б. есть что нибудь готовое?
Ну например, а-ля Юних-линукс. Там мы автоматом в мс получаем, вроде, по документации.

"Есть многое на свете, друг Горацио, что и не сразу в голову придет."
М. Твен "Приключения Геккельбери Финна"
...
Рейтинг: 0 / 0
28.08.2009, 21:00
    #36168767
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
YUBAполучаем некий Long. Извините Double
...
Рейтинг: 0 / 0
28.08.2009, 21:06
    #36168772
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
а чем не устраивает DATEDIFF?
...
Рейтинг: 0 / 0
28.08.2009, 21:09
    #36168777
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.Proа чем не устраивает DATEDIFF? Я просто это не знаю, сейчас посмотрю.
...
Рейтинг: 0 / 0
28.08.2009, 21:17
    #36168787
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
уже за сегодня второй или третий вопрос.... :)

в хелпе разделы:
Математические функиции
Функции работы с датой
Функции работы со строками
...
и т.п.


Сначала надо нос туда сувать
...
Рейтинг: 0 / 0
28.08.2009, 21:25
    #36168791
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.Proуже за сегодня второй или третий вопрос.... :)

в хелпе разделы:
Математические функиции
Функции работы с датой
Функции работы со строками
...
и т.п.
Сначала надо нос туда суватьНу просмотрел, извините уж. :)
...
Рейтинг: 0 / 0
28.08.2009, 21:32
    #36168799
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.Proуже за сегодня второй или третий вопрос.... :)
Сначала надо нос туда сувать Вообще-то, мне до мс нужно и функция уже есть. М.б. поэтому и просмотрел. Миллисекунд в хелпе точно нету. :)
...
Рейтинг: 0 / 0
28.08.2009, 21:50
    #36168809
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
ох, и вправду нет (в SQL в аналогичной функции есть)

ну тогда тупо вычитайте одну дату из другой и умножайте на 86400000
...
Рейтинг: 0 / 0
28.08.2009, 22:00
    #36168816
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Код: plaintext
1.
? 86400000 *(# 1 / 1 / 09   20 : 52 : 50 #-# 1 / 1 / 09   20 : 52 : 47 #)
  3000 , 00007264316  
...
Рейтинг: 0 / 0
28.08.2009, 22:06
    #36168821
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.Pro
Код: plaintext
1.
? 86400000 *(# 1 / 1 / 09   20 : 52 : 50 #-# 1 / 1 / 09   20 : 52 : 47 #)
  3000 , 00007264316  
Вы так даже минуты точно не получите. :))
...
Рейтинг: 0 / 0
28.08.2009, 22:11
    #36168823
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Я вас не понял, приведите пример.

Код: plaintext
1.
? 86400000 *(# 1 / 1 / 09   20 : 52 : 50 #-# 1 / 1 / 09   20 : 45 : 50 #)
  420000 , 000111759  

вот вам 420 тыщ миллисекунд - это разница в 7 минут.
Вы просили точность до миллисекунд.
...
Рейтинг: 0 / 0
28.08.2009, 22:50
    #36168851
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.ProЯ вас не понял, приведите пример.
Код: plaintext
1.
? 86400000 *(# 1 / 1 / 09   20 : 52 : 50 #-# 1 / 1 / 09   20 : 45 : 50 #)
  420000 , 000111759  
вот вам 420 тыщ миллисекунд - это разница в 7 минут.
Вы просили точность до миллисекунд. С миллисекундами пишется так, например
#1/1/09 20:52:50.47#-#1/1/09 20:45:50.68# И вам напишут Type mismatch. Нет?
И как теперь вычитать?
Пока я делаю это разборкой всего этого на составные части. А потом сборкой, чтобы получить скажем -17:15:23.63
...
Рейтинг: 0 / 0
28.08.2009, 23:35
    #36168868
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Вообще изобретать ничего не надо. Все уже работает.
В других средах эти функции есть. Надеялся, что и VB тоже.
...
Рейтинг: 0 / 0
29.08.2009, 00:11
    #36168889
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
YUBAС миллисекундами пишется так, например
#1/1/09 20:52:50.47#-#1/1/09 20:45:50.68# И вам напишут Type mismatch.


"Решеточная" запись - да, напишет Type mismatch

Но вы пока ни словом не обмолвились о том
1) откуда берутся данные (вляд ли вы их руками с решетками в код вбиваете)
2) в каком формате нужно получить выход (я предполагал, что в виде числа миллисекунд)

В VB дата представлена в виде Double (причем целая часть - дни, дробная - доли суток), поэтому операции над ними и конвертирование в нужный вид не представляет из себя проблемы без всяких разборок. :)
...
Рейтинг: 0 / 0
29.08.2009, 15:27
    #36169122
YUBA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дельта T
Shocker.ProВ VB дата представлена в виде Double (причем целая часть - дни, дробная - доли суток), поэтому операции над ними и конвертирование в нужный вид не представляет из себя проблемы без всяких разборок. :) Это я в курсе и в самом начале вроде написал. :) Здесь проблем не было и нет. Дело не в проблемах, а в выборе варианта решения. Просто много манипуляций со временем - есть внутренние представления, есть отображения (несколько вариантов). А с разборкой или без - вопрос выбора.
За DATADIFF спасибо. Как-то это мимо прошло. Полезная штука. Уже вставил в код.

Источник, если интересно, - измерительная аппаратура. Прог-ма имеет дело уже с БД.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Дельта T / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]