2011-04-21 82 views
3

javascript Date.toLocaleDateString()很愚蠢。javascript日期格式(國際設置)

我需要的是一個函數,可以根據喜好簡化日期。

如果有一個函數可以讀取瀏覽器的日期格式(複數)並且帶一個可選參數來告訴它使用哪種格式,那將會很不錯。

我會解釋一下: 「MM/DD/YYYY」對美國和任何願意忍受他們/我們的人都很好。 「DD/MM/YYYY」是對短簡單日期格式感興趣的人最常用的格式。 「Weekday,Month DayOfMonth,Year」僅在需要超長和語言相關的輸出時纔有用。

我可以用這個:

var s = "/"; 
if(locale=='us') 
    var dateString = Date.getDate()+s+Date.getDay()+s+Date.getFullYear(); 
else 
    var dateString = Date.getDay()+s+Date.getDate()+s+Date.getFullYear(); 

但是我正在尋找一個更優雅的解決方案,讓我存儲日期面罩或格式字符串,使人們可以改變他們的日期根據顯示方式他們自己的口味。 (即使是超長語言依賴的人,如果他們喜歡它就夠了)。

我應該重新原型Date.toString()方法來解釋參數嗎?有沒有更好的辦法?

回答

2

我遇到了一個非常強大的庫,照顧日期和通用的格式: http://blog.stevenlevithan.com/archives/date-time-format (錯誤的鏈接) http://jawe.net/wiki/dev/jsdateformat/home

非常強大且可配置。 (它支持Java風格的格式,我需要的,如「中等」的日期格式)

時刻似乎是有用的,功能完整的(只是沒有媒體格式):https://github.com/timrwood/moment

+0

上jsdateformat輕微的警告 - 它星期四失去英文... – harningt 2012-06-29 17:23:04