【问题标题】:Converting server timezone to localtime momentjs [closed]将服务器时区转换为本地时间 momentjs [关闭]
【发布时间】:2016-01-19 10:59:48
【问题描述】:

我的服务器在 EDT -4 中,我正在尝试使用 momentj 将数据库中的日期转换为用户的本地时区。我什么都试过了,还是不行。

这些是我尝试过的:

//1
var servertime= array[data].time
var localtime= moment(servertime).toDate();
var time = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
//Actual Database time: 2015-10-20 12:42:47    Output:2015-10-20 12:42:47

//2
var servertime= array[data].time
var localtime= moment.utc(servertime).toDate();
var time = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
//Actual Database time: 2015-10-20 12:42:47    Output:2015-10-20 12:42:47

似乎时刻根本没有改变它。

例如,当服务器上的 UTC 时间是:2015 年 10 月 20 日 17:29 我的电脑时钟 UTC +1 是 2015 年 10 月 20 日 7:30

【问题讨论】:

  • “它不起作用”永远是不够的信息。输入、期望输出和实际输出是什么?你是如何获得数据的?为什么您的 服务器 时区很重要? (除非您使用服务器的时区存储日期,否则这几乎肯定是一个错误......)
  • 大概在某个地方你必须告诉 moment 服务器时间是 EDT?在第一个示例中您没有做任何类似的事情,而在第二个示例中您声称它是 UTC。
  • @JonSkeet 我添加了输入输出。似乎连时间都没有改变
  • 好吧,您已经展示了 localtime 是什么,但您还没有展示您如何计算出 servertime 是什么。
  • 但是你还没有展示你是如何获得数组的。例如,它可能已经在 UTC 中,因此调用 utc 不会有任何区别。基本上,我们目前没有机会重现该问题,因为您只是给我们提供了一些信息。

标签: javascript date timezone momentjs


【解决方案1】:

你做的几乎所有事情都是正确的。您的主要问题是您将 javascript 日期对象存储在您的 localtime 变量中。

//I'm assuming your this is your server time. This assumes your server time is in UTC.
var servertime= '2015-10-20 12:42:47';
//Create a utc moment, then convert it to the local time. localtime is a momentjs object.
var localtime = moment.utc(servertime).local();
//format the local time
var time = localtime.format('YYYY-MM-DD HH:mm:ss');

.utc().local() 分别转换为 UTC 和本地时间显示的时间。请参阅http://momentjs.com/docs/#/parsing/utc/ 了解更多信息。

【讨论】:

  • 我用另一种方式修复了它,所以我无法测试它,但谢谢
【解决方案2】:

显然,插入我的数据库的时间不是 unix 时间,所以我将我的 php 代码更改为,而不是 mysql 中的 current_timestamp 使用 php time() 函数。然后我在 php 中使用 date('c',mytimedata) 使其格式正确,以便立即使用。然后简单使用:

 var localTime  = moment(array[data].time).toDate();

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    • 2010-09-24
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多