我的格式为'm-d-Y'
(12-31-2017)。我想将其转换为timestamp
。通常,这有效:
$timestamp = strtotime($date);
但如果我没有弄错的话,这适用于'd/m/Y'
而非'm/d/Y'
。
这里有什么解决方案?
答案 0 :(得分:2)
您可以使用 DateTime::createFromFormat()
,然后在对象上调用getTimestamp()
:
//first create DateTime Object
$datetime = DateTime::createFromFormat('m-d-Y', '12-31-2017');
//get timestamp from DateTime
echo $datetime->getTimestamp();
答案 1 :(得分:0)
试试这段代码。
<?php
$d=strtotime("12/31/2017");
echo "Created date is " . date("m-d-Y h:i:sa", $d);
?>
有关日期时间格式的更多信息,请阅读PHP Manual
答案 2 :(得分:0)
您可以根据格式更改日期:
$date = '12/31/2017';
$timestamp = date('Y-m-d', strtotime($date));
$timestamp = date('d-m-Y', strtotime($date));
$timestamp = date('m-d-Y', strtotime($date));
如果时间戳
$timestamp = date('m-d-Y h:i:s', strtotime($date));
答案 3 :(得分:0)
另一种解决方案如下:
//CONVERT the time string from the desired format
$dateTime=DateTime::createFromFormat('m/d/Y',$date);
echo "UNIX TIMESTAMP method 1".$date->format("U");
// false
echo "UNIX TIMESTAMP method 2".$date->getTimestamp();