Как написать полный рабочий день в strtotime?



Я пытаюсь получить метку времени для: "час: минута am / pm месяц / день / год", но это, кажется, не работает должным образом. В каком порядке это должно быть?



Пример моего текущего заказа:
11: 59 утра, 19.04.2012

686   5  

5 ответов:

Вот как вы преобразуете заданную форматированную строку даты / времени в метку времени:

$date_string = '11:59 am, 04/19/2012';
$dateTime = DateTime::createFromFormat("H:i a, m/d/Y", $date_string);
$timestamp = $dateTime->getTimestamp();
echo $timestamp;

Вывод:

1334833140

Поставьте дату перед временем:

echo strtotime('04/19/2012 11:59 am');

Я думаю, что это было бы похоже на это

echo strtotime(date("Y-m-d H:i:s"));

Таким образом, порядок

Год-месяц-день часы: минуты: секунды

Я также предполагаю, что strtotime достаточно умен, чтобы знать различные форматы дат, поэтому вы должны быть в порядке с вашим форматом даты, просто поместите его как первую часть и время после нее.

Попробуйте удалить следующий символ после am: ,

Например, используйте следующее:

strtotime("11:59 am 04/19/2012")

Если я правильно понял ваш вопрос, строка, которую вам нужно разобрать на date(), чтобы получить нужный формат из метки времени, выглядит следующим образом:

date("H:i a, m/d/Y", $timestamp);

Дополнительные символы форматирования можно найти в документации, здесь.


strtotime() не будет преобразовывать формат даты, который вы дали в метку времени, однако более мощный и универсальный DateTime класс мог бы это сделать.

Comments

    Ничего не найдено.