根据javascript中的时区更新时间

时间:2015-03-13 08:08:49

标签: javascript mysql date timestamp

我以time的形式从数据库返回2015-03-13 02:08:18 它被设置为00:00时区,但我需要将其转换为用户的时间,以显示多少小时/分钟/秒'以前是。是否有一个简单的功能可以完成这项工作? (我知道,这可能已经回答了,但到目前为止我发现的所有例子都是相反的事情)

2 个答案:

答案 0 :(得分:1)

只需在末尾添加Z告诉JavaScript将其解析为UTC,并用T替换该空格,以便在IE中工作(感谢@Salman A):

var timestampFromDatabase = '2015-03-13 02:08:18';
var dateInUsersTimezone = new Date(timestampFromDatabase.replace(' ', 'T') + 'Z');

例如,在加利福尼亚州:

new Date('2015-03-13T02:08:18Z');
// Thu Mar 12 2015 19:08:18 GMT-0700 (PDT)

答案 1 :(得分:1)

如果时区已知(例如+00:00),那么您需要做的就是:

var d1 = new Date("2015-03-13T02:08:18+00:00");
var d2 = new Date();
var diff = d2 - d1;
// diff contains the number of milliseconds between the two dates

差异与用户时区无关。

相关问题