美国日期格式的时间戳转换

时间:2017-12-28 11:26:21

标签: php date

我的格式为'm-d-Y'(12-31-2017)。我想将其转换为timestamp。通常,这有效:

$timestamp = strtotime($date);

但如果我没有弄错的话,这适用于'd/m/Y'而非'm/d/Y'

这里有什么解决方案?

4 个答案:

答案 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);
?>

Output

有关日期时间格式的更多信息,请阅读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();