2011-12-09 65 views
1

我在表中顯示日期時間對象,但由於某種原因,它在IE中顯示爲無或無效日期是否有我的格式有問題或者是否存在用於製備本更多可讀如毫米/日/年HH一個簡單的方法:MMIE/Firefox中的JS Date對象的日期/無效

這就是在鉻顯示:

Mon Nov 28 2011 16:00:00 GMT-0500 (EST) 

這是正在從Unix時間戳轉換爲輸出的API在層。

+2

難道我們請參閱您的代碼? –

回答

0

只是讓你自己的方法格式化日期字符串,所以你通過與不同勢瀏覽器和plateforms

-1

我懷疑Chrome正在這裏能幫助和呼喚你的ToString()方法中的所有問題。

Date對象有幾種格式化字符串輸出的方法。例子見the w3schools reference page

2

由於新的Date()構造函數只接受一些有限的,與實現相關的日期字符串集,可能創建Date對象失敗。

即使沒有涉及常規意義上的本地化,您也可以使用Globalize庫來處理此類問題,但與一類本地化一樣處理日期的不同字符串表示。它首先看起來有些雜亂(需要一些時間來深入研究 - 我的書「Going Global with JavaScript and Globalize.js」包含一個更具可讀性的描述,並帶有許多例子),但它遠非完美,但它非常完美有用。

如果您知道您的時間戳數據具有某種已知的精確格式,則可以輕鬆解析它,然後根據自己的格式描述符輸出它。另外,在假設確定性的緣故,該格式是一個與

週一例證2011年11月28日16:00:00 GMT-0500(EST)

(我知道這是你提到的輸出格式,但我只是用它作爲例子),你首先要做簡單的字符串操作來放棄「GMT」和「(EST)」部分(Globalize目前無法處理它們),從而產生例如

星期一2011年11月28日16:00:00 -05:00

,然後你只使用如下代碼:

var foo = Globalize.parseDate(timestamp,'ddd MMM d yyyy HH:mm:ss zzz'); 
var out = Globalize.format(foo,'MM/dd/yyyy HH:MM'); 
document.write(out); 
相關問題