【发布时间】:2019-02-02 20:56:16
【问题描述】:
我的时间戳是这样的:
$timestamp = "2018-08-28T08:49:44+00:00";
很容易将其转换为 unix 时间戳:
$unixtime = strtotime($timestamp);
echo $unixtime; // result: 1535446184
我想要的结果是获取当前时区的时间戳。应该是这样的:
$timestamp_with_timezone = "2018-08-28T10:49:44+02:00";
但是如果我这样做:
echo date('c',$unixtime);
结果又是:
2018-08-28T08:49:44+00:00
以 ISO 8601 格式获取所需本地时间日期的正确方法是什么?
【问题讨论】:
-
是的,但你“真正”想要什么? ;-) 服务器所在时区的时间,还是用户所在时区的时间?第一个要求您知道运行 PHP 网站的服务器的时区设置,第二个要求用户发送有关用户位置的信息(或者他们可能在数据库中有一个用户首选项表,其中他们存储自己喜欢的时区???)。
-
没错,我应该进一步澄清这一点。但是,这是为了修改新闻文章的发布日期,因此我需要网站所在国家/地区的时区:在 WordPress 中,我可以使用
get_option('timezone_string') -
如果我需要服务器时间,我可以使用
date_default_timezone_get(),如果我需要用户时间,这完全取决于我从哪里得到它,仅供感兴趣的人使用。
标签: php date unix-timestamp iso8601 gmt