Date.prototype.toLocaleTimeString()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
toLocaleTimeString() 㯠Date ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããã®æ¥æã®æå»é¨åããå°æ¹æã§è¨èªã«ä¾åãã表ç¾ã®æååã§è¿ãã¾ãã Intl.DateTimeFormat API ã«å¯¾å¿ãã¦ããå®è£
ã§ã¯ããã®ã¡ã½ãã㯠Intl.DateTimeFormat ã«è»¢éããã¾ãã
toLocaleTimeString ãå¼ã³åºããããã³ã«ããã¼ã«ã©ã¤ãºæååã®å·¨å¤§ãªãã¼ã¿ãã¼ã¹ãæ¤ç´¢ããªããã°ãªãããããã¯éå¹ççã§ããå¯è½æ§ãããã¾ããåã弿°ã§ã¡ã½ãããä½åº¦ãå¼ã³åºãããå ´åã¯ã Intl.DateTimeFormat ãªãã¸ã§ã¯ãã使ãããã® format() ã¡ã½ããã使ç¨ããã»ããããã§ãããã DateTimeFormat ãªãã¸ã§ã¯ãã¯ã渡ããã弿°ãè¨æ¶ãããã¼ã¿ãã¼ã¹ã®ä¸é¨ããã£ãã·ã¥ãããã¨ã決å®ã§ãããããä»å¾ã® format ã®å¼ã³åºãã§ã¯ãããå³å¯ãªã³ã³ããã¹ãå
ã§ãã¼ã«ã©ã¤ãºæååãæ¤ç´¢ãããã¨ãã§ãã¾ãã
試ãã¦ã¿ã¾ããã
// ã¿ã¤ã ã¾ã¼ã³ã«ãã£ã¦ãçµæãå¤åãããã¨ãããã¾ã
const event = new Date("August 19, 1975 23:15:30 GMT+00:00");
console.log(event.toLocaleTimeString("en-US"));
// äºæ³ãããçµæ: "1:15:30 AM"
console.log(event.toLocaleTimeString("it-IT"));
// äºæ³ãããçµæ: "01:15:30"
console.log(event.toLocaleTimeString("ar-EG"));
// äºæ³ãããçµæ: "١٢:١٥:٣٠ص"
æ§æ
toLocaleTimeString()
toLocaleTimeString(locales)
toLocaleTimeString(locales, options)
弿°
弿° locales 㨠options ã®å弿°ã¯ã颿°ã®åä½ãã«ã¹ã¿ãã¤ãºãã¦ãã¢ããªã±ã¼ã·ã§ã³ãæ¸å¼åã®æ
£ç¿ã使ç¨ããè¨èªãæå®ãããã¨ãã§ããããã«ãã¾ãã
Intl.DateTimeFormat API ã«å¯¾å¿ãã¦ããå®è£
ã§ã¯ããããã®å¼æ°ã¯ Intl.DateTimeFormat() ã³ã³ã¹ãã©ã¯ã¿ã¼ã®å¼æ°ã¨æ£ç¢ºã«ä¸è´ãã¦ãããã¨ã«æ³¨æãã¦ãã ããã Intl.DateTimeFormat ã«å¯¾å¿ãã¦ããªãå®è£
ã§ã¯ã両æ¹ã®å¼æ°ãç¡è¦ããããã«æ±ãããã¾ãã使ç¨ãããã±ã¼ã«ã¨è¿ãæååã®å½¢å¼ã¯ãå®å
¨ã«å®è£
ã«ä¾åãã¾ãã
localesçç¥å¯-
BCP 47 ã®è¨èªã¿ã°ãæã¤æååããããã¯ãã®ãããªæååã®é åã§ãã
Intl.DateTimeFormat()ã³ã³ã¹ãã©ã¯ã¿ã¼ã®locales弿°ã«ç¸å½ãã¾ããIntl.DateTimeFormatã«å¯¾å¿ãã¦ããªãå®è£ ã§ã¯ããã®å¼æ°ã¯ç¡è¦ãããé常ã¯ãã¹ãã®ãã±ã¼ã«ã使ç¨ãã¾ãã optionsçç¥å¯-
åºåæ¸å¼ã調æ´ãããªãã¸ã§ã¯ãã
Intl.DateTimeFormat()ã³ã³ã¹ãã©ã¯ã¿ã¼ã®options弿°ã«ç¸å½ãã¾ããdayPeriod,hour,minute,second,fractionalSecondDigitsããã¹ã¦æªå®ç¾©ã®å ´åãhour,minute,secondã¯"numeric"ã«è¨å®ããã¾ããIntl.DateTimeFormatã«å¯¾å¿ãã¦ããªãå®è£ ã§ã¯ããã®å¼æ°ã¯ç¡è¦ããã¾ãã
ãããã®å¼æ°ã®è©³ç´°ãä½¿ç¨æ¹æ³ã«ã¤ãã¦ã¯ Intl.DateTimeFormat() ã³ã³ã¹ãã©ã¯ã¿ã¼ãåç
§ãã¦ãã ããã
è¿å¤
æå®ãããæ¥ä»ã®æå»é¨åããè¨èªåºæã®ä»æ§ã«å¾ã£ã¦è¡¨ç¾ããæååã表ãã¾ãã
Intl.DateTimeFormat ã®ããå®è£
ã§ã¯ã new Intl.DateTimeFormat(locales, options).format(date) ã¨ç価ã§ãã
ã¡ã¢:
ã»ã¨ãã©ã®å ´åãtoLocaleTimeString() ãè¿ãæ¸å¼ã¯ä¸è²«ãã¦ãã¾ãããã ããåããã±ã¼ã«å
ã§ãã£ã¦ããå®è£
ã«ãã£ã¦åºåã¯ç°ãªãå ´åãããã¾ããåºåã®ã°ãã¤ãã¯è¨è¨ä¸ã®ãã®ã§ããã仿§ã§èªãããã¦ãã¾ããã¾ããæå¾
ããçµæã¨ç°ãªãå ´åãããã¾ããä¾ãã°ãæååã«æ¹è¡ç¦æ¢ã¹ãã¼ã¹ã使ç¨ãããããæ¸åæ¹åå¶å¾¡æåã§å²ã¾ãããããå ´åãããã¾ããtoLocaleTimeString() ã®çµæãããã¼ãã³ã¼ãããã宿°ã¨æ¯è¼ããªãã§ãã ããã
ä¾
>toLocaleTimeString() ã®ä½¿ç¨
locale ãæå®ããã«ãã®ã¡ã½ãããåºæ¬ã§ä½¿ç¨ããã¨ãæ¢å®ã®ãã±ã¼ã«ã§ãæ¢å®ã®ãªãã·ã§ã³ã使ç¨ãã¦æ¸å¼åãããæååãè¿ããã¾ãã
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleTimeString() ã«å¼æ°ãä¸ããªããã°å®è£
ã«ä¾åãã
// æ¢å®ã®ãã±ã¼ã«ã¨ã¿ã¤ã ã¾ã¼ã³ãè¿ã
console.log(date.toLocaleTimeString());
// "7:00:00 PM" ã¢ã¡ãªã«/ããµã³ã¼ã«ã¹ã®ã¿ã¤ã ã¾ã¼ã³ã® en-US ãã±ã¼ã«ã§å®è¡ããå ´å
locales 㨠options ã«å¯¾å¿ãã¦ããã確èªãã
å½éå API ã¸ã®å¯¾å¿ã¯ãªãã·ã§ã³ã§ãããä¸é¨ã®ã·ã¹ãã ã«ã¯å¿
è¦ãªãã¼ã¿ãåå¨ããªãå ´åããããããlocales ããã³ options 弿°ã¯ãã¹ã¦ã®å®è£
ã§å¯¾å¿ãã¦ããã¨ã¯éãã¾ãããå½éåã«å¯¾å¿ãã¦ããªãå®è£
ã§ã¯ãtoLocaleTimeString() ã¯å¸¸ã«ã·ã¹ãã ã®ãã±ã¼ã«ã使ç¨ãã¾ããããã¯ãæå¾
ããçµæã¨ã¯ç°ãªãå ´åãããã¾ããlocales ããã³ options 弿°ã«å¯¾å¿ãã¦ããå®è£
ã¯ã Intl API ã«ã対å¿ãã¦ããå¿
è¦ããããããå¾è
ã®åå¨ã調ã¹ãã¨å¯¾å¿ãã¦ãããã©ããã確èªãããã¨ãã§ãã¾ãã
function toLocaleTimeStringSupportsLocales() {
return (
typeof Intl === "object" &&
!!Intl &&
typeof Intl.DateTimeFormat === "function"
);
}
locales ã®ä½¿ç¨
ãã®ä¾ã§ã¯ãå½ãã¨ã«ç°ãªãæå»æ¸å¼ã示ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ä½¿ç¨ããã¦ããè¨èªã®æ¸å¼ãå¾ãã«ã¯ã locales 弿°ã§ãã®è¨èªï¼ãããã¯ä»£æ¿ã§ä½¿ç¨ãããè¨èªï¼ãæå®ãã¦ãã ããã
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// 以ä¸ã®æ¸å¼ã¯ãã®å°åã®ã¿ã¤ã ã¾ã¼ã³ã¨ãã±ã¼ã«ãæ³å®
// ç±³å½ã®ã¢ã¡ãªã«å¤§é¸/ããµã³ã¼ã«ã¹
// ç±³å½è±èªã¯ AM/PM 表è¨ã® 12 æéå¶
console.log(date.toLocaleTimeString("en-US"));
// "7:00:00 PM"
// è±å½è±èªã¯ AM/PM 表è¨ãªãã® 24 æéå¶
console.log(date.toLocaleTimeString("en-GB"));
// "03:00:00"
// éå½ã¯ AM/PM 表è¨ã® 12 æéå¶
console.log(date.toLocaleTimeString("ko-KR"));
// "ì¤í 12:00:00"
// å¤ãã®ã¢ã©ãã¢èªåã§ã¯ã¢ã©ãã¢æ°åã使ç¨
console.log(date.toLocaleTimeString("ar-EG"));
// "Ù§:Ù Ù :Ù Ù Ù
"
// 対å¿ãã¦ããªãå¯è½æ§ã®ããè¨èªãè¦æ±ããå ´åããã¨ãã°
// ããã§ã¯ããªèªã¨ãã代æ¿è¨èªã«ã¤ã³ããã·ã¢èªãæå®ããå ´å
console.log(date.toLocaleTimeString(["ban", "id"]));
// â "11.00.00"
options ã®ä½¿ç¨
toLocaleTimeString() ã¡ã½ããããå¾ãããçµæã¯ã options 弿°ã§ã«ã¹ã¿ãã¤ãºã§ãã¾ãã
const date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// ã¢ããªã±ã¼ã·ã§ã³ã§ UTC ãç¨ãã¦ããã示ãããå ´å
const options = { timeZone: "UTC", timeZoneName: "short" };
console.log(date.toLocaleTimeString("en-US", options));
// "3:00:00 AM GMT"
// ç±³å½ã§ã 24 æéå¶ã使ããã¨ããã
console.log(date.toLocaleTimeString("en-US", { hour12: false }));
// "19:00:00"
// æ¢å®ã®ãã±ã¼ã«ã®ãªãã·ã§ã³ - 空ã®é
åã使ç¨ãã¦æã¨åã®ã¿ã表示
console.log(
date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }),
);
// "20:01"
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-date.prototype.tolocaletimestring> |
| ECMAScript® 2027 Internationalization API Specification> # sup-date.prototype.tolocaletimestring> |