|
|
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Как сложить два времени a=Time b=3 (имеется ввиду три часа) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 18:44 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
DateAdd("h", 3, Time) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 18:47 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
для скурпулёзности Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 18:51 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
не так давно узнал, что надо писать скрУпулезности и кУры тут нипричем ЗЫ А не ошибся ли в последнем слове? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 19:13 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Scrupula, scrupula! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 19:21 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Для полноты картины: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 22:53 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Что за фигня Int=270 Tim.Text = DateAdd("n", Int, Time) Если при сложении время переваливает через полночь то пишется: (31.12.1899 1:22:19). Откуда тут дата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 08:52 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Получился 1 день. Положительное число. В типе данных Date (сохраняется как 64-разрядное (8-байтовое) число с плавающей точкой, целая часть - дни)- 0 это 30 декабря 1899, вот он и прибавил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 09:10 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Дело в том, что время (в смысле тольеко часы, мин и сек) это частный случай типа Date и хранится оно в компе как дробная часть дня, т.е. 1 - это один день, а 1 час это 1/24, соответственно мин = 1/24/60 и т.д. В Акцесе за нулевую дату принят format(CDate(0),"dd/mm/yyyy hh:nn:ss") = 30/12/1899 00:00:00 Значит, сегодня: cdbl(Now) = 38141.3476851852 Время записывается в поле даты как нуль дней + часы, например, 08:20 = 30/12/1899 00:08:20, соответсвенно, добавление нескольеих часов, переходящих через сутки, увеличит количество дней на 1 и превратит время в дату, например, ?DateAdd("h", 20, Time) = 31/12/1899 04:25:48 AM, а Акцес такой формат уже распознает, как дату, а не как время! Поэтому, занимаясь вычислениями времени (в смысле тольеко часы, мин и сек) нужно проставлять полный формат даты, а именно: DateAdd("h", 20, Now) = 04/06/2004 04:32:44 AM Тогда все понятно и нет вопросов. Кстати, в MS SQL Server за нулевую дату принято другое число select cast(0 as datetime) = 1900-01-01 00:00:00.000 и это может приводить к ошибкам вычисления даты, которая из бейсика и акцеса записывается в таблицы в серевера в своем формате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 09:34 |
|
||
|
Как сложить два времени
|
|||
|---|---|---|---|
|
#18+
Да и в функции для добавления часов надо H, а не N (N - это минуты) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 10:56 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32543554&tid=1674138]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 500ms |

| 0 / 0 |
