我有一些使用date("j/n/y")
格式的数据,即今天的日期为23/1/15
我试过了
echo strtotime($today);
但这并没有给我我想要的时间戳。我如何将date("j/n/y")
格式的日期转换为纪元?
答案 0 :(得分:5)
使用DateTime::createFromFormat()
阅读日期格式,然后使用DateTime::getTimestamp()
将其格式化为时间戳。
$date = DateTime::createFromFormat('j/n/y', '23/1/15');
$epoch = $date->getTimestamp();
答案 1 :(得分:1)
我认为您正在寻找PHP中的mktime
函数。它有点像这样:
$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)
如果您正在寻找动态现在时间戳,您可以在mktime的每个参数中使用date()
。例如:
$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.
但是,正如John Conde所说,它要求你在使用它之前拆分日期,所以它可能效率不高。
希望有所帮助!
答案 2 :(得分:0)
只要采用另一种方法,这个方法将有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));