2010-06-03 40 views
0

我使用的數據表通過JSON加載,日期如下:2010-06-03 使用Opera和Chrome我有正確的日期顯示爲06/03/2010。使用Firefox Windows(即使在安全模式下,沒有任何插件),我可以獲得NaN/NaN/NaN。如果我使用調試控制檯,則會看到有效的日期,但在Firefox Windows中,我可以看到「無效的日期」。 獎金,與Firefox Mac awith一噸插件,我們有有效的日期!YUI數據表和使用Firefox顯示日期

下面是日期列的

oColumn['editor'] = 
    new YAHOO.widget.DateCellEditor({asyncSubmitter:UpdateRowData}); 
oColumn['formatter'] = YAHOO.widget.DataTable.formatDate; 
oField['parser'] = 'date'; 

感謝,
塞德里克

回答

2

原來, 「2010-06-03」 不返回有效的Date對象(至少在FF的設置/贏得)。對於跨瀏覽器的兼容性,可以肯定你的價值是可以接受的日期構造函數的格式: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date

+0

你是可靠的:Firefox 3.5不接受yyyy-mm-dd作爲Date構造函數的日期......但Firefox 3.6接受它! 我通過爲我的數據表的日期單元格創建一個特定的日期分析器來解決這個錯誤。 – 2010-06-18 14:47:33

0

根據您的情況,另一種方式來解決,這是包括在您的「JSON」數據的實際日期構造函數。一旦你這樣做,它不再是標準的JSON,你需要在瀏覽器上評估它。

{'duration': 75, 'end_time': new Date(Date.UTC(2008,11,23,17,45,00,0)), 
'start_time': new Date(Date.UTC(2008,11,23,16,30,00,0))} 

好處是不再需要解析瀏覽器上的數據,因爲基準已經是一個Date對象。

缺點是您不再將有效的JSON從服務器發送到客戶端瀏覽器。

1

珍妮的參考是好的,但如果你不想去挖掘,你應該通過:

「YYYY,MM,DD」

到YUI分析器得到它在FF工作/贏得以及Chrome。