IST到php中的UTC时间戳

时间:2018-10-31 07:34:27

标签: php datetime utc

我有一个类似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;

1 个答案:

答案 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"