我有一个类似30-10-2018 06:00:00 pm
的日期时间,现在我想将其转换为UTC时间戳,所以我试图将其转换为strtotime
并乘以1000。但这导致6小时的差异在结果日期
$min_date = "30-10-2018 06:00:00 pm";
$max_date= "30-10-2018 07:00:00 pm";
echo $minDate= strtotime($min_date) * 1000;
echo "<br>";
echo $maxDate= strtotime($max_date) * 1000;
答案 0 :(得分:2)
您要使用的是一个内置的PHP函数,称为“ gmdate.”
在我们使用gmdate将datetime字符串转换为UTC时间戳的示例中,让我们使用第一个时间戳$min_date
:
$min_date = "30-10-2018 06:00:00 pm";
//Use 'gmdate', which accepts a formatting string and time() values as arguments.
$utc_min_date = gmdate("d-m-Y H:i:s", strtotime($min_date));
echo "<p>Before: ".$min_date."</p>";
//Produces: "Before: 30-10-2018 06:00:00 pm"
echo "<p>UTC: ".$utc_min_date."</p>";
//Produces: "UTC: 30-10-2018 23:00:00"
如果您想要一个纯数字表示形式(类似于time()戳记),则可以简单地转换结果UTC时间戳。
$numerical_utc_min_date = strtotime($utc_min_date);
echo "<p>Numerical UTC timestamp: " . $numerical_utc_min_date . "</p>";
//Produces: "Numerical UTC timestamp: 1540958400"