|
|
|
| SELECT NOW()-(DATE_SUB(NOW(), INTERVAL 1 DAY));
Возвращает 1000000
Вполне похоже на один день.
SELECT NOW()-(DATE_SUB(NOW(), INTERVAL 2 DAY));
Дает 2000000
А вот дальше начинается очень и очень интересное!
SELECT NOW()-(DATE_SUB(NOW(), INTERVAL 3 DAY));
Выдает 72000000
SELECT NOW()-(DATE_SUB(NOW(), INTERVAL 6 DAY));
Выдает 75000000
Ну и так далее. Все понятно - переход на новый месяц... Но что интересно - если (разумеется, правые шесть нулей отбрасываем) из любого получаемого числа вычитать 69 - мы получаем настоящее число дней.
69 / 3 - это по 33 дня в месяце... тоже не подходит.
Так что же это за волшебное 69? Почему с ним все правильно? | |
|
|
|
|
|
|
|
для: Shorr Kan
(03.04.2005 в 08:51)
| | Здесь дело вот в чём, время в формате timestamp хранится в следующем виде
год, месяц, число, час, минуты, секунды. Теперь чтобы вычесть из него 1 день нужно отнять 1000000 - отсюда и такие несуразные числа. | |
|
|
|