Как я могу преобразовать дату (& quot; j / n / y & quot;) в эпоху

У меня есть некоторые данные, которые используют date("j/n/y") формат на сегодняшний день 23/1/15

я пытался

echo strtotime($today);

но это не дает мне метку времени, которую я хочу. Как бы я конвертировать дату в date("j/n/y") формат для эпохи?

0

Решение

использование DateTime::createFromFormat() читать формат даты, а затем использовать DateTime::getTimestamp() отформатировать его как метку времени.

$date  = DateTime::createFromFormat('j/n/y', '23/1/15');
$epoch = $date->getTimestamp();
5

Другие решения

Я думаю, что вы ищете mktime функция в PHP. Это выглядит примерно так:

$timestamp = mktime(0,0,0,0,0,0);

Где по порядку аргументы: час, минута, секунда, месяц, день, год. Итак, в вашем случае:

$today = mktime(0, 0, 0, 1, 23, 2015);
// Would return the timestamp for Jan. 23rd, 2015 at 12:00:00 am (I think)

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

$rightnow = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
// Would return the timestamp for Jan. 23rd, 2015 at 10:57:25 am.

Но, как говорит Джон Конде, требуется, чтобы вы разбили дату, прежде чем сможете ее использовать, поэтому она может быть не такой эффективной.

Надеюсь, это поможет!

1

Просто иметь другой подход, этот был бы хорош еще на 85 лет.

$date = date('j/n/y', time());

list($day, $month, $year) = explode("/", $date);

$date = "20" . $year . "-" . $month . "-" . $day;

echo date('m/d/Y', strtotime($date));
0
По вопросам рекламы [email protected]