我目前正在尝试将date_default_timezone_set("Europe/Berlin");
的时间戳作为unix时间戳,但它总是会产生UTC unix时间戳。
// Current time: "2016-04-28 20:37:20"
date_default_timezone_set("Europe/Berlin");
echo date('Y-m-d H:i:s');
// -> "2016-04-28 20:37:20"
echo strtotime(date('Y-m-d H:i:s'));
// -> 1461868642 which is Thu, 28 Apr 2016 18:37:22 GMT
// i need here 1461875840 which is the current time.
答案 0 :(得分:1)
Unix时间(也称为POSIX时间或纪元时间)是用于描述时间瞬间的系统,定义为自1月1日星期四00:00:00协调世界时(UTC)以来经过的秒数1970。
来自strtotime
documentation:
该函数期望给出一个包含英文日期格式的字符串,并尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数)。
答案 1 :(得分:1)
您获得的时间戳与您期望的时间戳不同,因为您没有指定时区。您可以通过对代码进行以下更改来获得结果:
echo strtotime(date("Y-m-d H:i:s") . " GMT");