2011-09-19 72 views
1
var d = new Date(); 
document.write(d); 

它會打印什麼。它通常打印本地機器的時間。如果機器的語言是法語,它會用法語打印時間嗎?
或JavaScript輸出是英文嗎?非英語版本的Javascript

+1

也許你想['toLocaleDateString'(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toLocaleDateString)。 –

回答

2

所有Date.prototype.to*String方法的內容都依賴於實現(第15.9節中的la the standard)。但是,它們是基於ISO的英文表達。所以基本上,默認總是英語。當談到Date.prototype.toLocale*String方法標準認爲字符串應該是一個

對應

但是仍然有一些實現差異宿主環境的當前 地方的約定:

在FF 4中:
Date.prototype.toLocaleString()uses OS設置。
Date.prototype.toString()always in [American] English。

FF uses local settings

雖然在Chrome 14:
兩者都始終英語。這已經been noticed

Chrome always English

檢驗自己:http://jsfiddle.net/USJeE/

+0

嗨Davin,W3Schools指出:「除Google Chrome以外,所有主流瀏覽器都支持toLocaleString()方法。」所以這並不令人意外。這就是爲什麼我提出了一些鍵值函數來獲取所需的值。 –

+0

@Shai,這是這樣做的一種方式,儘管它不會完全地本地化格式。 – davin

+0

當然:)問題是,不幸的是,沒有真正的跨瀏覽器方式來獲取這些數據。當然,您不能在您的網絡應用中忽略Chrome。因爲它是一支新興力量。通常,將日期本地化爲特定語言的人會使用該特定語言開發應用程序,並且字符串替換可以很好地工作。對於多語言應用程序,開發人員通常會使用語言文件,我猜:) –

1

就我所知,Javascript通常會以英文輸出日期。

你可以建立自己的小型圖書館以英語日期名重命名爲法國天的名字,以便與幾個月,等...

你也可以嘗試使用toLocaleString,但我不知道它會做工作。我認爲實現你自己的「替換」字符串會更容易。

Shai。