Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Обработка даты и времени
fvoice
Вставить ник
сообщение 28:03:2008, 22:26
Цитата Ответить 


Гуру
***

Группа: Lotus team
Сообщений: 394
Регистрация: 14:09:2006
Из: Караганды =)
Пользователь №: 6 548
Специализация: Lotus Notes & Domino



Репутация: - 10 +


Пишу некое подобие органайзера, нужно складывать/вычитать/сравнивать даты и время, сколько помню, лучше всего это делать в числовом формате(преобразовывать дату/время в число с плавающей точкой, где целая часть это дата, а дробная время, если я правильно понимаю). Столкнулся с непонятными результатами:
Код
MsgBox CDate(CDbl(CDate("00:02:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))

возвращает 03.01.1000 23:59:00
, а
Код
MsgBox CDate(CDbl(CDate("00:00:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))

возвращает 02.01.1000 0:01:00
,хотя
Код
MsgBox CDate(CDbl(CDate("00:01:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))

получается 02.01.1000
blink.gif

почему так происходит? может существует другой, более простой способ решения этих задач?

платформа VB6
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 2)
fvoice
Вставить ник
сообщение 29:03:2008, 10:03
Цитата Ответить 


Гуру
***

Группа: Lotus team
Сообщений: 394
Регистрация: 14:09:2006
Из: Караганды =)
Пользователь №: 6 548
Специализация: Lotus Notes & Domino



Репутация: - 10 +


Дата - это число, целая часть которого - число полных суток, прошедших с 0:00 30.12.1899 (так - "1" соответствует 31.12.1899), дробная часть показывает время в частях от суток (т. е. 0,5 = 12 часов, 1/24/60/60=1 секунда).

Примеры с датой позже 1899 г работают корректно:
Код
MsgBox CDate(CDbl(CDate("00:02:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.2000"))))

возвращает 02.01.2000 0:01:00
Подняться вверх 
 
Сообщение #2
skysun
Вставить ник
сообщение 4:05:2008, 04:55
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 29
Регистрация: 1:10:2007
Пользователь №: 12 985
Специализация: программист



Репутация: - 0 +


в VB от даты можно отнимать и прибавлять и сравнивать и так без доп. преобразований
Подняться вверх 
 
Сообщение #3


Ответить  Новая тема 

 

RSS Текстовая версия Сейчас: 17:05:2008 - 04:42
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net