У меня есть такая строка: «13/10 15:00», и я хотел бы преобразовать ее в метку времени, но когда я это сделаю:
$timestamp = strtotime("13/10 15:00");
Возвращает пустое значение.
У меня есть такая строка: «13/10 15:00», и я хотел бы преобразовать ее в метку времени, но когда я это сделаю:
$timestamp = strtotime("13/10 15:00");
Возвращает пустое значение.
В вашем коде strtotime()
пытается преобразовать 13/10
как десятый день 13-го месяца, что возвращает ошибку.
Если вы хотите проанализировать строку даты в настраиваемом формате, лучше вместо этого использовать DateTime :: createFromFormat ():
$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
$timestamp
переменная содержит объект DateTime, а не метку времени. Чтобы получить отметку времени, используйте $timestamp->getTimestamp();
или $timestamp->format('U');
- person Glavić; 14.10.2013
strtotime()
. Спасибо.
- person ; 14.10.2013
$timestamp = strtotime("13-10-2013 15:00");
Это может быть важно:
Даты в форматах m / d / y или d-m-y устраняются путем рассмотрения разделителя между различными компонентами: если разделителем является косая черта (/), то предполагается американский m / d / y; тогда как если разделителем является тире (-) или точка (.), то предполагается европейский формат d-m-y.
Чтобы избежать потенциальной двусмысленности, лучше использовать даты ISO 8601 (ГГГГ-ММ-ДД) или DateTime :: createFromFormat (), когда это возможно.