2013-05-16 20 views
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)

我怎麼能篩選出來?

+0

[有很多方法格式化'Date'對象(http://stackoverflow.com/a/12632212/1048572) – Bergi

+0

什麼是'數據[I] .postedon' ? – karthikr

+0

@karthikr它在問題 – Sir

回答

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); 
}; 
+0

不知道這是本地意識!謝謝你,我現在會測試它:) – Sir

+0

+1,但嚴重的是,'months'和'days'應該是數組,而不是。 。 。這個。 – ruakh

+0

@ruakh一年前,我在使用數組。然後,我決定我不會爲打「''''多次」而煩惱,也不會去找一箇舊的副本來複制粘貼,所以我做了這個XD保存內存,儘管這很整齊。 –

相關問題