2

我正在使用 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';
};

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

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

4

0 回答 0