Baseline Widely available
toLocaleString()
æ¹æ³è¿åè¯¥æ¥æå¯¹è±¡çå符串ï¼è¯¥åç¬¦ä¸²æ ¼å¼å ä¸åè¯è¨èä¸åã卿¯æ Intl.DateTimeFormat
API çå®ç°ä¸ï¼è¯¥æ¹æ³ä»
æ¯è°ç¨äº Intl.DateTimeFormat
æ¹æ³ã
const event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// British English uses day-month-year order and 24-hour time without AM/PM
console.log(event.toLocaleString("en-GB", { timeZone: "UTC" }));
// Expected output: "20/12/2012, 03:00:00"
// Korean uses year-month-day order and 12-hour time with AM/PM
console.log(event.toLocaleString("ko-KR", { timeZone: "UTC" }));
// Expected output: "2012. 12. 20. ì¤ì 3:00:00"
è¯æ³
toLocaleString()
toLocaleString(locales)
toLocaleString(locales, options)
åæ°
locales
å options
åæ°ä½¿ç¨åºè½å¤æå®ä½¿ç¨åªç§è¯è¨æ ¼å¼åè§åï¼å
许å®å¶è¯¥æ¹æ³çè¡ä¸ºï¼behaviorï¼ã
卿¯æ Intl.DateTimeFormat
API çå®ç°ä¸ï¼è¿äºåæ°ä¸æé 彿°çåæ°å®å
¨å¯¹åºãè对äºä¸æ¯æ Intl.DateTimeFormat
çå®ç°ï¼åè¦æ±å½æ°å¿½ç¥è¿ä¸¤ä¸ªåæ°ï¼ä½¿å¾å½æ°ä½¿ç¨çåºåï¼localeï¼ä»¥åè¿åçåç¬¦ä¸²çæ ¼å¼å®å
¨åå³äºå®ç°ã
locales
å¯é
表示缩åè¯è¨ä»£ç ï¼BCP 47 language tagï¼çåç¬¦ä¸²ï¼æç±æ¤ç±»åç¬¦ä¸²ç»æçæ°ç»ã对åºäº Intl.DateTimeFormat()
æé 彿°ç locales
åæ°ã
å¨ä¸æ¯æ Intl.DateTimeFormat
çå®ç°ä¸ï¼è¯¥åæ°ä¼è¢«å¿½ç¥ï¼å¹¶ä¸é常ä¼ä½¿ç¨ä¸»æºçåºå设置ã
options
å¯é
ä¸ä¸ªè°æ´è¾åºæ ¼å¼ç对象ã对åºäº Intl.DateTimeFormat()
æé 彿°ç options
åæ°ã妿å
¶ dayPeriod
ãhour
ãminute
ãsecond
å fractionalSecondDigits
屿§å
¨æ¯ undefinedï¼å hour
ãminute
ãsecond
è¿ä¸ä¸ªå±æ§ä¼è¢«è®¾ç½®ä¸º "numeric"
ã
å¨ä¸æ¯æ Intl.DateTimeFormat
çå®ç°ä¸ï¼è¯¥åæ°ä¼è¢«å¿½ç¥ã
åè§ Intl.DateTimeFormat()
æé 彿°ä»¥è¯¦ç»äºè§£è¿äºåæ°ä»¥åå¦ä½ä½¿ç¨å®ä»¬ã
ä¸ä¸ªè¡¨ç¤ºç»å®ç date 对象ï¼ä¸ä¸è¯è¨ç¸å ³çå符串ã
卿¯æ Intl.DateTimeFormat
çå®ç°ä¸ï¼æ¤æ¹æ³çä»·äº new Intl.DateTimeFormat(locales, options).format(date)
ã
夿³¨ï¼ 大夿°æ¶åï¼toLocaleString()
è¿åçæ ¼å¼æ¯ä¸è´çã使¯ï¼è¿å¯è½å¨æªæ¥åçååï¼ä¸ä¸è½ä¿è¯ææè¯è¨é½è½å¾å°ä¸è´çæ ¼å¼ãè¾åºçååå å®ç°èå¼ï¼èä¸è¿ç§å忝è§èæå
许çãä½ ä¸åºè¯¥å° toLocaleString()
çç»æä¸éæå¼ä½æ¯è¾ã
没ææå®åºåï¼localeï¼æ¶ï¼è¿åä¸ä¸ªä½¿ç¨é»è®¤åºååæ ¼å¼è®¾ç½®ï¼optionsï¼çæ ¼å¼åå符串ã
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleString() ä¸å
å«åæ°ï¼å
¶é»è®¤åºååæ¶åºåå³äºå®ç°
console.log(date.toLocaleString());
// "2012/12/12 11:00:00" å¦æå¨ zh-CN åºå以åä¸å
«åºï¼å京æ¶é´ï¼ä¸è¿è¡
æ£æµ locales å options åæ°æ¯ææ
åµ
locales
å options
忰䏿¯ææçæµè§å¨é½æ¯æãä¸ºäºæ£æµä¸ç§å®ç°ç¯å¢ï¼implementationï¼æ¯å¦æ¯æå®ä»¬ï¼å¯ä»¥ä½¿ç¨ä¸åæ³çè¯è¨æ ç¾ï¼å¦æå®ç°ç¯å¢æ¯æè¯¥åæ°ï¼åä¼æåº RangeError
å¼å¸¸ï¼åä¹ä¼å¿½ç¥åæ°ã
function toLocaleStringSupportsLocales() {
try {
new Date().toLocaleString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
ä½¿ç¨ locales
ä¸ä¾å±ç¤ºäºæ¬å°åæ¥ææ ¼å¼çä¸äºååã为äºå¨åºç¨çç¨æ·çé¢å¾å°æç§è¯è¨çæ¥æåæ¶é´æ ¼å¼ï¼å¿
须确ä¿ä½¿ç¨ locales
åæ°æå®äºè¯¥è¯è¨ï¼å¯è½è¿éè¦è®¾ç½®æäºåéè¯è¨ï¼ã
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// 以䏿 ¼å¼åè¾åºåå设使ç¨åºåçæ¬å°æ¶åºï¼
// 对äºç¾å½ï¼ä¸º America/Los_Angeles
// ç¾å¼è±è¯ï¼ä½¿ç¨ month-day-year ç顺åºä»¥å带æ AM/PM ç 12 å°æ¶å¶
console.log(date.toLocaleString("en-US"));
// "12/19/2012, 7:00:00 PM"
// è±å¼è±è¯ï¼ä½¿ç¨ day-month-year ç顺åºä»¥åä¸å¸¦æ AM/PM ç 24 å°æ¶å¶
console.log(date.toLocaleString("en-GB"));
// "20/12/2012 03:00:00"
// é©å½ï¼ä½¿ç¨ year-month-day ç顺åºä»¥å带æ AM/PM ç 12 å°æ¶å¶
console.log(date.toLocaleString("ko-KR"));
// "2012. 12. 20. ì¤í 12:00:00"
// 大夿°é¿æä¼¯å½å®¶ä½¿ç¨çæ£çé¿æä¼¯æ°å
console.log(date.toLocaleString("ar-EG"));
// "Ù¢Ù â/١٢â/٢٠١٢ Ù¥:Ù Ù :٠٠ص"
// å¯¹äºæ¥è¯ï¼åºç¨å¾åäºä½¿ç¨æ¥æ¬çååï¼
// 2012 å¹´æ¯å¹³ææ¶ä»£ç第 24 å¹´
console.log(date.toLocaleString("ja-JP-u-ca-japanese"));
// "24/12/20 12:00:00"
// å½ä½¿ç¨çè¯è¨ä¸è¢«æ¯æï¼ä¾å¦
// å·´åå²è¯ï¼åå¯ä»¥å
å«ä¸ç§åéè¯è¨ï¼è¿é以å°å°¼è¯ä¸ºä¾
console.log(date.toLocaleString(["ban", "id"]));
// "20/12/2012 11.00.00"
ä½¿ç¨ options
å¯ä»¥ä½¿ç¨ options
åæ°æ¥èªå®ä¹ toLocaleString()
æ¹æ³è¿åçå符串ã
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// 请æ±åæ°å
嫿æï¼ä¸è¯¥åæ°çå¼ä¸ºé¿æ´å
const options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
console.log(date.toLocaleString("de-DE", options));
// "Donnerstag, 20. Dezember 2012"
// åºç¨ç¨åºå¯è½æ³è¦ä½¿ç¨ UTC æ¶é´ï¼å¹¶ä½¿å
¶å¯è§
options.timeZone = "UTC";
options.timeZoneName = "short";
console.log(date.toLocaleString("en-US", options));
// "Thursday, December 20, 2012, GMT"
// ææ¶ï¼åºå设置为ç¾å½çæ
åµä¸ï¼ä¹éè¦ä½¿ç¨ 24 å°æ¶å¶
console.log(date.toLocaleString("en-US", { hour12: false }));
// "12/19/2012, 19:00:00"
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4