now() возвращает неверное значение при правильных данных date() и времени сервера

#php

#php

Вопрос:

now(); = 1319959284

date("Y/m/d");
= 2011/10/30

если я запускаю date на своем сервере, время находится на месте

редактировать 3 Я идиот

редактировать 2 Я думаю, что временная метка UNIX не совпадает с меткой времени MYSQL

Редактировать 1: я только подумал, что это неправильно, потому что, когда я пытаюсь вставить это в поле метки ВРЕМЕНИ в MYSQL, цифры не вводятся.

Если я вставляю число, такое как 20050224124736, оно кажется действительным.

Скриншот PHPMYADMIN

другой экран

Комментарии:

1. Вы говорите о MySQL NOW() ?

2. Что такое now() ? Это не функция PHP, поставляемая с дистрибутивом по умолчанию. Кроме того, 1319959284 это время UNIX и отображается правильно.

3. Я использую PHP NOW()

4. находятся ли root и mysql на одном сервере?

5. можем ли мы увидеть ваш код? Я предполагаю, что, поскольку это скриншот phpmyadmin, вы говорите о sql now() в запросе insert?

Ответ №1:

Ну, это now() значение соответствует 30 октября 2011, 07:21:24 UTC. Учитывая, что это было всего несколько минут назад, для меня это выглядит нормально. Что заставляет вас думать, что это неверно?

Если по какой-то причине вы считаете, что прошел час, возможно, это как-то связано с тем, что многие страны перевели свои часы прошлой ночью?

РЕДАКТИРОВАТЬ: похоже, PHPMYADMIN хочет получить значение формы

 yyyyMMddHHmmss
 

Итак, на данный момент вы бы ввели

 20111030074623
 

Похоже, стоит хотя бы попробовать…

РЕДАКТИРОВАТЬ: глядя на эту тему, кажется, что поведение MySQL изменилось около версии 4.1. Какую версию MySQL вы используете?

Комментарии:

1. PHPMYADMIN не позволяет вводить эти цифры вручную в поле метки ВРЕМЕНИ.

2. @Justin: Похоже, что PHPMYADMIN хочет другой формат — это не значит now() , что это неправильно…