Unix время в реальном времени - PullRequest
1 голос
/ 26 февраля 2011

Не уверен, что случилось с кодом

$date = strtotime("%b %d, %Y", $datedata);
    $time = strtotime("%I:%M:%S %p", $datedata);

Время, которое я получаю из БД, составляет 1298747601 и это $ datedata

У меня date_default_timezone_set('America/Los_Angeles'); вверхусценарий.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2011

Используйте strftime () или date () , а не strtotime ().Strtotime предназначен для форматирования текстовых дат, а не временных меток.

Лучше использовать тип данных DATETIME в вашей базе данных, а не int, содержащий временную метку.Использование DATETIME означает более легкий расчет с датами, и вы можете форматировать дату непосредственно в своем запросе.

1 голос
/ 26 февраля 2011

strtotime () - для преобразования строки во время типа $timestamp = strtotime("1:33 PM EST Next Friday");.

Требуется date(), который принимает строку формата и метку времени для создания форматированной строки даты и времени и использует текущее время (от time()), если метка времени не передана, например, date("h:i:s A T, M jS, Y", $timestamp), который будет выводить что-то как "1:33:00 EST, 4 марта 2011 года". Также обратите внимание, что если вы хотите использовать слова в таком формате, как «23 января», а буквы в словах также являются символами форматирования даты, в этом случае «o» в «of» соответствует году ISO-8601. параметр форматирования чисел, вы должны экранировать его с \ косой чертой, как "jS \of F". Поскольку f не является параметром форматирования, его не нужно экранировать, но если это произойдет, то это будет "\o\f"

Существует также объект DateTime, встроенный в более свежие версии PHP, с которым вы можете ознакомиться.

Я не согласен с Рэем, что лучше хранить тип данных DateTime в SQL, а не целую метку времени. Они примерно одинаковы. Вы по-прежнему можете искать диапазоны дат в БД, просто находя числа, превышающие временную метку X и меньшую, чем временная метка Y, и, как плюс, все, что вы получаете из БД, уже имеет формат временной метки, который может легко использоваться PHP без необходимости преобразовывать его в правильную временную метку.

...