【发布时间】:2015-03-19 08:44:14
【问题描述】:
我有一个包含 UTC 日期时间的表。我正在使用 PHP 将这些日期/时间字符串返回到 JSON 中的 AJAX 请求。我在前端收到的这些字符串之一的示例是“2014-12-22 09:36:54”。我想在本地时间向用户显示这个。例如,我比加利福尼亚的 UTC 时间晚 8 小时,所以我希望看到类似“2014-12-22 01:36:54”的内容。
在 javascript 中,我尝试了 new Date("2014-12-22T09:36:54").toLocaleString() 并得到了 "12/22/2014, 9:36:54 AM"---基本上是一个不变的日期/时间。
我尝试了 new Date("2014-12-22T09:36:54").toUTCString() 并得到了“星期一,2014 年 12 月 22 日 17:36:54 GMT”,这与我的结果几乎相反通缉。但我想这应该很明显。
最后的想法...:
我是否必须进行一些涉及 getTimezoneOffset() 的操作?
这在 PHP 后端会更容易解决吗?
最后一点是,我认为 jstz.js 会有所帮助,但它所做的只是返回时区名称,我不知道这有什么特别有用的地方。是否有任何函数将时区的名称作为参数在这种情况下会有所帮助?
【问题讨论】:
-
JavaScript 在日期和时间方面是出了名的难用。如果你能用 PHP 解决它,那就这样做吧,免得你自己头疼。
-
我看不出有什么库或工具可以提供帮助;如果您在输入中没有时区,则您无法神奇地发明它。如果您有一个有效的日期,它将使用 toLocaleString 在正确的时间显示
标签: javascript php datetime