根据 javascript 中的时区更新时间
Update Time according to the timezone in javascript
我从数据库中以 2015-03-13 02:08:18
的形式返回了 time
它设置为 00:00 时区,但我需要将其转换为用户时间以显示 'how many hours/minutes/seconds' 之前的时间。是否有一个简单的功能可以完成这项工作? (我知道,这可能已经有人回答了,但到目前为止我找到的所有例子都在做相反的事情)
只需在末尾添加一个 Z
告诉 JavaScript 将其解析为 UTC,并将 space 替换为 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)
如果时区已知(例如+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
差异与用户时区无关。
我从数据库中以 2015-03-13 02:08:18
的形式返回了 time
它设置为 00:00 时区,但我需要将其转换为用户时间以显示 'how many hours/minutes/seconds' 之前的时间。是否有一个简单的功能可以完成这项工作? (我知道,这可能已经有人回答了,但到目前为止我找到的所有例子都在做相反的事情)
只需在末尾添加一个 Z
告诉 JavaScript 将其解析为 UTC,并将 space 替换为 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)
如果时区已知(例如+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
差异与用户时区无关。