ISO 8601不保留时区?

时间:2013-06-15 03:52:08

标签: javascript jquery datetime

我使用timeago Jquery插件输出“5分钟前”之类的字符串等。

该插件使用ISO 8601日期格式。

我在控制台中有一个Date对象:

Sat Jun 15 2013 07:16:23 GMT+0530 (India Standard Time) 

要将其转换为ISO 8601,请执行以下操作:

date = date.toISOString();

现在它在控制台中看起来像这样:

2013-06-15T01:46:23Z

显然,时区已设置为UTC(Z代表UTC)。 这与timeago插件混淆,因为现在所有内容都是UTC,而不是当地时区。

我试过了:

Date.prototype.toISOStringfix = function() {
    function pad(n) { return n < 10 ? '0' + n : n }
    return this.getUTCFullYear() + '-'
        + pad(this.getUTCMonth() + 1) + '-'
        + pad(this.getUTCDate()) + 'T'
        + pad(this.getUTCHours()) + ':'
        + pad(this.getUTCMinutes()) + ':'
        + pad(this.getUTCSeconds()) + 'Z';
};

但是,我得到了相同的结果。

为什么会这样?我该如何解决?

0 个答案:

没有答案