2009-12-19 21 views
7

我正在尋找一種將Javascript日期對象轉換爲字符串的方法。我正在將我的網站從Ruby轉換爲服務器端JavaScript,並且我正在尋找類似於Ruby,C和其他許多語言中的strftime的內容。在JavaScript中將日期轉換爲字符串

我發現了很多簡單的腳本來完成這種轉換,但是如果有這樣的標準方法,我不希望包含自定義實現。

我沒有使用Javascript框架。我使用的是Mozilla Rhino,但希望儘可能避免使用Java庫,以便在實現之間輕鬆移動我的代碼。

我希望能夠指定字符串的格式,因爲我想將它嵌入句子中。我希望能夠插入任意的'和',並且有一天的全名,而不僅僅是縮寫。所以toString()是不夠的。

+0

還有漂亮的日期(http://ejohn.org/blog/javascript-pretty-date/) – Mottie 2009-12-19 18:18:37

回答

2

MomentJS擁有非常強大的一組時間格式選項,並且最近也進行了更新。

+0

偉大的插件!強烈推薦!!! – Kuf 2013-06-13 10:55:40

2

日期有一個內置的toString:

alert(new Date().toString()) 

「星期六2009年12月19日8時23分33秒格林尼治標準時間0800(太平洋標準時間)」

1

你可以使用

new Date().toString() 

...獲取日期的本地化輸出。

+0

我應該添加,我希望能夠指定字符串的格式,因爲我想將其嵌入句子中。我希望能夠插入任意的'和',並且有一天的全名,而不僅僅是縮寫。 – wvdschel 2009-12-19 16:26:39

+0

爲什麼這麼多人投票呢?這沒有什麼靈活的。他說他需要**類似**。 – 2009-12-19 16:30:44

+0

不,這是他原來的問題的一部分 – 2009-12-19 16:36:18

9

Javascript有一個免費(很棒的)庫,名爲Datejs,它爲您提供各種格式和解析功能(請參閱FormatSpecifiers文檔)。

+2

雖然我不喜歡使用外部庫,但這正是我所需要的。然而,不幸的是,他們將其標記爲阿爾法,而不是2年以上的更新。 – wvdschel 2009-12-19 16:31:41

+2

我聽到你的聲音,但你可以下載最新的代碼,並將其作爲參考來構建你自己的代碼。他們也有測試(http://www.datejs.com/test/)。這是一個很好的圖書館,很多人使用。 – 2009-12-19 16:34:40

+2

更好的是,自己開始更新它。您將擁有一個非常棒的JS日期庫,通過對它進行改進並使您的改進可用於我們其他人,我們將有更輕鬆的時間,並且您將擁有Internet Fame。你不能在互聯網名聲上付出代價。 – 2009-12-19 16:46:29

6

JavaScript中沒有任何東西可以讓你格式化像strftime那樣的日期顯示。

最靠近的是Date().toLocaleString(),它根據當地時區格式化返回日期。