如果您需要對格式的控制比當(dāng)前接受的答案稍微少一些,Date#toLocaleDateString
可用于創(chuàng)建標(biāo)準(zhǔn)的特定于區(qū)域設(shè)置的渲染。 locale
和 options
參數(shù)讓應(yīng)用程序指定應(yīng)使用格式約定的語言,并允許對呈現(xiàn)進行一些自定義。
所有這些鍵都是可選的。您可以根據(jù)您的要求更改選項值的數(shù)量,這也將反映每個日期時間術(shù)語的存在。
注意:如果您只想配置內(nèi)容選項,但仍使用當(dāng)前區(qū)域設(shè)置,則為第一個參數(shù)傳遞 null
將導(dǎo)致錯誤。請使用 undefined
代替。
您可以使用更多語言選項。
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
var today = new Date();
console.log(today.toLocaleDateString("en-US")); // 9/17/2016
console.log(today.toLocaleDateString("en-US", options)); // Saturday, September 17, 2016
console.log(today.toLocaleDateString("hi-IN", options)); // ??????, 17 ?????? 2016
您還可以使用 toLocaleString()
方法達到相同目的。唯一的區(qū)別是這個函數(shù)提供了當(dāng)您不傳遞任何選項時的時間。
// Example 9/17/2016, 1:21:34 PM
對于自定義分隔的日期格式,您必須提取日期(或時間)
來自 DateTimeFormat
對象的組件(即的一部分
ECMAScript 國際化 API),然后手動創(chuàng)建字符串
與您想要的分隔符。
為此,您可以使用 DateTimeFormat# formatToParts
。你可以
解構(gòu)數(shù)組,但這并不理想,因為數(shù)組輸出取決于
區(qū)域設(shè)置:
{ // example 1 let formatter = new Intl.DateTimeFormat('en'); let example = formatter.formatToParts(); console.log(example); } { // example 2 let formatter = new Intl.DateTimeFormat('hi'); let example = formatter.formatToParts(); console.log(example); }