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 без необходимости преобразовывать его в правильную временную метку.