У меня есть некоторые данные, которые используют date("j/n/y")
формат на сегодняшний день 23/1/15
я пытался
echo strtotime($today);
но это не дает мне метку времени, которую я хочу. Как бы я конвертировать дату в date("j/n/y")
формат для эпохи?
использование DateTime::createFromFormat()
читать формат даты, а затем использовать DateTime::getTimestamp()
отформатировать его как метку времени.
$date = DateTime::createFromFormat('j/n/y', '23/1/15');
$epoch = $date->getTimestamp();
Я думаю, что вы ищете 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.
Но, как говорит Джон Конде, требуется, чтобы вы разбили дату, прежде чем сможете ее использовать, поэтому она может быть не такой эффективной.
Надеюсь, это поможет!
Просто иметь другой подход, этот был бы хорош еще на 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));