我有一个包含UTC时间的表格。我使用PHP将这些日期/时间字符串以JSON形式返回给AJAX请求。我在前端收到的其中一个字符串的示例是“2014-12-22 09:36:54”。我想在当地时间将其显示给用户。例如,我在加利福尼亚州的UTC时间后面8个小时,所以我想看到类似“2014-12-22 01:36:54”的内容。从数据库中获取UTC时间并在浏览器中显示本地时间
在JavaScript中,我尝试了新的日期(“2014-12-22T09:36:54”)。toLocaleString(),并得到“12/22/2014,9:36:54 AM”---基本上是一个不变的日期/时间。
我试过新的日期(“2014-12-22T09:36:54”)。toUTCString()和我得到了“星期一,2014年12月22日17:36:54 GMT”,这几乎是相反的我想了。但我想这应该是显而易见的。
最后的想法...:
难道我将不得不做一些操作涉及使用getTimezoneOffset()?
这将更容易解决在PHP后端?
最后一个注意事项是,我包括jstz.js认为它会帮助,但它所做的只是返回时区名称,我不知道这是如何特别有用。任何函数是否将时区的名称作为一个参数在这种情况下会有所帮助?
当涉及到日期和时间时,JavaScript是非常难以使用的。如果你可以用PHP解决它,那么做,而不是让你头痛。 – 2015-01-20 23:13:45
请参阅http://stackoverflow.com/a/439871/65387 – mpen 2015-01-20 23:14:28
我没有看到什么库或工具可以帮助;如果您在输入中没有时区,那么您无法通过奇迹般地创造它。如果你有一个有效的日期,它会显示在正确的时间使用toLocaleString – dandavis 2015-01-20 23:14:52