1

我有这个变量来保存时间/日期的字符串。

问题是,它还显示了我不想要的时区。所以这就是我所拥有的:

//data[i].posted has seconds sinch epoch
var postedon = new Date( parseInt(data[i].postedon/1000) );
document.write = postedon;

结果是我得到例如:

Thu Jan 01 1970 00:00:00
GMT+0000 (GMT Standard Time)

事情是我不想要GMT+0000 (GMT Standard Time)

我怎样才能过滤掉它?

4

1 回答 1

2

Date.prototype.toString(这就是您在此处有效调用的内容)是区域设置感知的。这意味着法国的某人会看到类似的东西jeudi 1er janvier 1970 01:00:00 GMT+1

换句话说,你完全没有控制权。

但是,您可以定义自己的函数或覆盖内置函数。尝试这样的事情:

Date.prototype.toString = function() {
    var y = this.getUTCFullYear(),
        m = this.getUTCMonth(),
        d = this.getUTCDate(),
        h = this.getUTCHours(),
        i = this.getUTCMinutes(),
        s = this.getUTCSeconds(),
        w = this.getUTCDay(),
        months = "JanFebMarAprMayJunJulAugSepOctNovDec",
        days = "SunMonTueWedThuFriSat",
        pad = function(n) {return n<10?'0'+n:n;};
    return days.substr(w*3,3)+" "+months.substr(m*3,3)+" "+pad(d)+" "+y+" "+pad(h)+":"+pad(i)+" "+pad(s);
};
于 2013-05-16T20:35:35.740 回答