Temporal
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
Want more browser support for this feature? Tell us why.
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
Temporal ãªãã¸ã§ã¯ãã¯ãçµã¿è¾¼ã¿ã®ã¿ã¤ã ã¾ã¼ã³ããã³æ¦ã®è¡¨ç¾ã宿å»ã®å¤æãç®è¡æ¼ç®ãæ¸å¼åãªã©ããã¾ãã¾ãªã·ããªãªã§æ¥ä»ã¨æå»ã®ç®¡çãå¯è½ã«ãã¾ããããã¯ã Date ãªãã¸ã§ã¯ããå®å
¨ã«ç½®ãæãããã®ã¨ãã¦è¨è¨ããã¦ãã¾ãã
解説
ã»ã¨ãã©ã®ã°ãã¼ãã«ãªãã¸ã§ã¯ãã¨ã¯ç°ãªãã Temporal ã¯ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ã¯ããã¾ããã new æ¼ç®åã¨ä¸ç·ã«ä½¿ç¨ãããã Temporal ãªãã¸ã§ã¯ãã颿°ã¨ãã¦å¼ã³åºããããããã¨ã¯ã§ãã¾ããã Temporal ã®ãã¹ã¦ã®ããããã£ã¨ã¡ã½ããã¯éçã§ãï¼Math ãªãã¸ã§ã¯ãã¨åæ§ï¼ã
Temporal ã¯è¤éã§å¼·å㪠API ãåãã¦ãã¾ããè¤æ°ã®ã¯ã©ã¹ãéã㦠200 以ä¸ã®ã¦ã¼ãã£ãªãã£ã¡ã½ãããå
¬éãã¦ãããããã¨ã¦ãè¤éã«è¦ããããããã¾ããããããã® API ãäºãã«ã©ã®ããã«é¢é£ãã¦ãããããæ¦è¦ã§èª¬æãã¾ãã
èæ¯ã¨æ¦å¿µ
JavaScript ã«ã¯ããã®èªçå½åããæ¥ä»ã¨æå»ãå¦çããããã® Date ãªãã¸ã§ã¯ããåå¨ãã¦ãã¾ãããããããDate API ã¯ãè¨è¨ãè¯ããªã 2010 年代åé ã«ç½®ãæãããã Java ã® java.util.Date ã¯ã©ã¹ããã¼ã¹ã«ãã¦ãã¾ãããã ãJavaScript ã¯ä¸ä½äºææ§ãéè¦ãã¦ãããããDate ã¯ãã®è¨èªã«æ®ã£ã¦ãã¾ãã
ãã®ç´¹ä»ã®åé ã§éè¦ãªãã¨ã¯ãæ¥ä»ã®å¦çã¯è¤éã§ããã¨ãããã¨ã§ããDate ã®åé¡ã®ã»ã¨ãã©ã¯ãã¡ã½ããã追å ãããã¨ã§è§£æ±ºã§ãã¾ãããæ ¹æ¬çãªè¨è¨ä¸ã®æ¬ é¥ã¯æ®ã£ã¦ãã¾ããã¤ã¾ããåããªãã¸ã§ã¯ãã«ãã¾ãã«ãå¤ãã®ã¡ã½ãããå
¬éããã¦ãããããéçºè
ã¯ã©ãã使ç¨ãã¹ããè¿·ããã¨ãå¤ããäºæãã¬åé¡ãçºçããããã®ã§ããããè¨è¨ããã API ã¯ãããå¤ãã®ãã¨ãè¡ãå¿
è¦ãããã ãã§ãªããåæ½è±¡åã¬ãã«ã§è¡ããã¨ãå°ãªãããå¿
è¦ãããã¾ãããªããªãã誤ç¨ãé²ããã¨ã¯ãç¨éãæ¡å¤§ãããã¨ã¨åããããéè¦ã ããã§ãã
Date ãªãã¸ã§ã¯ã㯠2 ã¤ã®å½¹å²ãåæã«æããã¾ãã
- ã¿ã¤ã ã¹ã¿ã³ãã¨ãã¦ãç¹å®ã®æç¹ï¼å æï¼ããçµéããããªç§ã¾ãã¯ããç§ã®æ°å¤ã
- æåã®çµã¿åããã¨ãã¦ãæãæ¥ãæãåãç§ãããªç§ãããç§ãå¹´ãæãæ¥ã®èå¥åã¯ãæ¦ä½ç³»ãåºæºã«ãã¦ã®ã¿æå³ãæã¡ã¾ãããã®çµã¿åããå
¨ä½ã¯ãã¿ã¤ã ã¾ã¼ã³ã«é¢é£ä»ãããã¦ããå ´åãæ´å²ä¸ã®ç¹å®ã®ç¬éã«å²ãå½ã¦ããã¾ãã
Dateãªãã¸ã§ã¯ãã¯ããããã®æåãèªã¿åãã夿´ããããã®ã¡ã½ãããæä¾ãã¦ãã¾ãã
ã¿ã¤ã ã¾ã¼ã³ã¯ãæ¥ä»é¢é£ã®ãã°ã®å¤ãã®æ ¹åºã«ããã¾ãããæåã®çµã¿åãããã¢ãã«ã§ Date ãæä½ããå ´åãæå»ã¯ UTC ã¨ãã¼ã«ã« ï¼ç«¯æ«ï¼ ã® 2 ã¤ã®ã¿ã¤ã ã¾ã¼ã³ããæå®ã§ãããä»»æã®ã¿ã¤ã ã¾ã¼ã³ãæå®ããæ¹æ³ãããã¾ãããã¾ãããã¿ã¤ã ã¾ã¼ã³ããªããã¨ããæ¦å¿µãæã£ã¦ãã¾ãããããã¯ãã«ã¬ã³ãã¼ã®æ¥ä» ï¼æ¥ä»ã®å ´åï¼ ã¾ãã¯å£æãæè¨ã®æå» ï¼æå»ã®å ´åï¼ ã¨ãã¦ç¥ããã¦ããããã«ã¬ã³ãã¼ãæè¨ã§èªã¿åããæå»ã§ããä¾ãã°ãæ¯æ¥ã®ç®è¦ã¾ãã¢ã©ã¼ã ãè¨å®ããå ´åã夿éã§ãããã©ãããå¥ã®ã¿ã¤ã ã¾ã¼ã³ã«ç§»åãã¦ãããã©ããã«é¢ä¿ãªãããåå 8 æãã«è¨å®ãããã§ãããã
Date ã«æ¬ ãã¦ãã 2 ã¤ç®ã®æ©è½ã¯ãæ¦ä½ç³»ã§ããã»ã¨ãã©ã®äººã¯ã西æ¦ã¨ç´å
åã¨ãã 2 ã¤ã®æä»£ãããã12 ãæããããåæã®æ¥æ°ã¯ç°ãªãã4 å¹´ã« 1 åã¯éå¹´ããããã¨ãã£ãã°ã¬ã´ãªãªæ¦ã«æ
£ãã¦ããã§ããããããããããã©ã¤æ¦ãä¸å½ã®æ§æ¦ãæ¥æ¬ã®æ§æ¦ãªã©ãå¥ã®æ¦ä½ç³»ã使ç¨ãã¦ããå ´åããããã®æ¦å¿µã®ä¸é¨ã¯é©ç¨ãããªãå ´åãããã¾ããDate ã§ã¯ãã°ã¬ã´ãªãªæ¦ã®ã¢ãã«ãã使ç¨ã§ãã¾ããã
Date ã«ã¯ããã¹ã¦ã®ã»ãã¿ã¼ã夿´å¯è½ã§ãã ï¼ããã¯å¤ãã®å ´åãæã¾ãããªãå¯ä½ç¨ãå¼ãèµ·ããã¾ãï¼ãæ¥ä»ã¨æå»ã®æååå½¢å¼ãä¸è²«ããæ¹æ³ã§è§£éã§ããªãããªã©ãä»ã«ãå¤ãã®æã¾ãããªãå¤ãé¨åãããã¾ããçµå±ãæåã®è§£æ±ºçã¯ãæ°ãã API ãä¸ããæ§ç¯ãããã¨ã§ãããããã Temporal ã§ãã
API æ¦è¦
Temporal 㯠Intl ã¨åæ§ã«åå空éã§ããããã«ã¯ãæ¥ä»ããã³æå»ã®ç®¡çã®ç¹å®ã®å´é¢ãå¦çããããã«è¨è¨ããããããã¤ãã®ã¯ã©ã¹ããã³åå空éãå«ã¾ãã¦ãã¾ããã¯ã©ã¹ã¯æ¬¡ã®ããã«ã°ã«ã¼ãåã§ãã¾ãã
- æéã®è¡¨ç¾ï¼2 ã¤ã®æç¹éã®å·®ï¼:
Temporal.Duration - æç¹ã®è¡¨ç¾:
- æ´å²ä¸ã®åºæã®ç¬éã®è¡¨ç¾:
- ã¿ã¤ã ã¹ã¿ã³ãã¨ãã¦:
Temporal.Instant - æ¥æã®æåã®çµã¿åããã«ã¿ã¤ã ã¾ã¼ã³ãä½µãããã®:
Temporal.ZonedDateTime
- ã¿ã¤ã ã¹ã¿ã³ãã¨ãã¦:
- ã¿ã¤ã ã¾ã¼ã³ã«é¢ãããªãæ¥æã®è¡¨ç¾ï¼ãã¹ã¦ "Plain" ã®æ¥é è¾ãä»ãï¼:
- æ¥ä»ï¼å¹´ãæãæ¥ï¼ + æå»ï¼æãåãç§ãããªç§ããã¤ã¯ãç§ãããç§ï¼:
Temporal.PlainDateTimeï¼æ³¨:ZonedDateTimeã¯PlainDateTimeã«ã¿ã¤ã ã¾ã¼ã³ãå ãããã®ï¼- æ¥ä»ï¼å¹´ãæãæ¥ï¼:
Temporal.PlainDate- å¹´ãæ:
Temporal.PlainYearMonth - æãæ¥:
Temporal.PlainMonthDay
- å¹´ãæ:
- æå»ï¼æãåãç§ãããªç§ããã¤ã¯ãç§ãããç§ï¼:
Temporal.PlainTime
- æ¥ä»ï¼å¹´ãæãæ¥ï¼:
- æ¥ä»ï¼å¹´ãæãæ¥ï¼ + æå»ï¼æãåãç§ãããªç§ããã¤ã¯ãç§ãããç§ï¼:
- æ´å²ä¸ã®åºæã®ç¬éã®è¡¨ç¾:
ããã«ã Temporal.Now ã¨ããå¥ã®ã¦ã¼ãã£ãªãã£åå空éãããããã¾ãã¾ãªå½¢å¼ã§ç¾å¨ã®æå»ãåå¾ããã¡ã½ãããæä¾ãã¦ãã¾ãã
å ±æã¯ã©ã¹ã¤ã³ã¿ã¼ãã§ã¤ã¹
Temporal åå空éã«ã¯å¤æ°ã®ã¯ã©ã¹ããã¾ããããããã®ã¯ã©ã¹ã¯å¤ãã®ä¼¼ãã¡ã½ãããå
±æãã¦ãã¾ããæ¬¡ã®è¡¨ã¯ãåã¯ã©ã¹ã®ãã¹ã¦ã®ã¡ã½ããï¼å¤æã¡ã½ãããé¤ãï¼ãä¸è¦§è¡¨ç¤ºãããã®ã§ãã
次ã®è¡¨ã¯ãåã¯ã©ã¹ã§å©ç¨ã§ããããããã£ãã¾ã¨ãããã®ã§ãåã¯ã©ã¹ãè¡¨ãæ å ±ã®æå³ãææ¡ããã®ã«å½¹ç«ã¡ã¾ãã
ã¯ã©ã¹éã®å¤æ
以ä¸ã®è¡¨ã¯ãåã¯ã©ã¹ã«åå¨ãããã¹ã¦ã®å¤æã¡ã½ãããã¾ã¨ãããã®ã§ãã
| 夿å | ||||||||
Instant |
ZonedDateTime |
PlainDateTime |
PlainDate |
PlainTime |
PlainYearMonth |
PlainMonthDay |
||
|---|---|---|---|---|---|---|---|---|
| 夿å | Instant | / | toInstant() | ã¾ã ZonedDateTime ã¸å¤æ | ||||
ZonedDateTime | toZonedDateTimeISO() | / | toZonedDateTime() | toZonedDateTime() | PlainDate#toZonedDateTime() ï¼å¼æ°ã¨ãã¦æ¸¡ãï¼ | ã¾ã PlainDate ã¸å¤æ | ||
PlainDateTime | ã¾ã ZonedDateTime ã¸å¤æ | toPlainDateTime() | / | toPlainDateTime() | PlainDate#toPlainDateTime() ï¼å¼æ°ã¨ãã¦æ¸¡ãï¼ | |||
PlainDate | toPlainDate() | toPlainDate() | / | æ å ±ã«å¯¾å¿ãããã®ããªã | toPlainDate() | toPlainDate() | ||
PlainTime | toPlainTime() | toPlainTime() | æ å ±ã«å¯¾å¿ãããã®ããªã | / | æ å ±ã«å¯¾å¿ãããã®ããªã | |||
PlainYearMonth | ã¾ã PlainDate ã¸å¤æ | toPlainYearMonth() | æ å ±ã«å¯¾å¿ãããã®ããªã | / | ã¾ã PlainDate ã¸å¤æ | |||
PlainMonthDay | toPlainMonthDay() | ã¾ã PlainDate ã¸å¤æ | / | |||||
ãããã®è¡¨ã§ã Temporal API ã®åºæ¬çãªèãæ¹ãçè§£ã§ããã¨æãã¾ãã
æ¦
æ¦ã¯ãé常ãé±ãæãå¹´ãæä»£ãªã©ã®æéã«æ¥ãæ´çããæ¹æ³ã§ããä¸çã®å¤§åã¯ã°ã¬ã´ãªãªæ¦ã使ç¨ãã¦ãã¾ãããç¹ã«å®æçããã³æåçãªæèã§ã¯ãä»ã«ãå¤ãã®æ¦ã使ç¨ããã¦ãã¾ããæ¢å®ã§ã¯ãæ¦ãèªèãããã¹ã¦ã® Temporal ãªãã¸ã§ã¯ãã¯ãã°ã¬ã´ãªãªæ¦ããã¼ã¹ã¨ããé±ã®çªå·ä»ãã«é¢ãã追å ã®è¦åãå®ç¾©ãã ISO 8601 æ¦ä½ç³»ã使ç¨ãã¾ãã Intl.supportedValuesOf() ã«ã¯ããã©ã¦ã¶ã¼ã§å¯¾å¿ãã¦ããå¯è½æ§ã®é«ãæ¦ã®ã»ã¨ãã©ãæ²è¼ããã¦ãã¾ããããã§ã¯ãæ¦ä½ç³»ãã©ã®ããã«æ§æããã¦ããããç°¡åã«èª¬æããæ¦å士ã§ç°ãªãæåãå
é¨çã«çè§£ãããããã¾ãã
å°çä¸ã«ã¯ 3 ã¤ã®é¡èãªå¨æçãªã¤ãã³ããããã¾ããããã¯ã太é½ã®å¨ããåãå転ï¼1 å転㯠365.242 æ¥ï¼ãæãå°çã®å¨ããåãåè»¢ï¼æ°æããæ°æã¾ã§ 29.53 æ¥ï¼ãããã¦èªè»¢ï¼æ¥ã®åºããæ¥ã®åºã¾ã§ 24 æéï¼ã§ãããã¹ã¦ã®æåã§ã¯ãã1 æ¥ã㯠24 æéã¨ããåãåä½ã§æ¸¬å®ããã¾ãã夿éãªã©ã®ä¸æçãªå¤æ´ã¯ãæ¦ã«ã¯å±ãã¾ããããããã¯ã¿ã¤ã ã¾ã¼ã³ã®æ å ±ã®ä¸é¨ã§ãã
- æ¦ã®ä¸ã«ã¯ã1 å¹´ãå¹³å 365.242 æ¥ã¨å®ç¾©ãã1 å¹´ã 365 æ¥ã¨ããç´ 4 å¹´ãã¨ã« 1 æ¥ï¼éæ¥ï¼ã追å ãããã¨ã§ã1 å¹´ãå®ç¾©ãããã®ããã¾ããããã¦ã1 å¹´ãæã¨å¼ã°ããé¨åã«ããã«åå²ãããã¨ãã§ãã¾ãããã®ãããªæ¦ã¯ãå¤ªé½æ¦ã¨å¼ã°ãã¾ããã°ã¬ã´ãªãªæ¦ã¨å¤ªé½ãã¸ã¥ã©æ¦ã¯ãå¤ªé½æ¦ã§ãã
- æ¦ã®ä¸ã«ã¯ãæã 29 æ¥ã¨ 30 æ¥ã®äº¤äºã¨å®ç¾©ãããã¨ã«ããã1 ãæãå¹³å 29.5 æ¥ã¨å®ç¾©ãããã®ãããã¾ããããã¦ã12 ãæã 354 æ¥ã® 1 å¹´ã¨ãã¦ã°ã«ã¼ãåãã¾ãããã®ãããªæ¦ã¯ãå¤ªé°æ¦ãã¨å¼ã°ãã¾ããã¤ã¹ã©ã æ¦ã¯å¤ªé°æ¦ã§ãã太é°å¹´ã¯äººå·¥çãªãã®ã§ãããå£ç¯ã®å¨æã¨ã¯é¢é£ããªããããå¤ªé°æ¦ã¯ä¸è¬çã«ãã¾ã使ç¨ããã¦ãã¾ããã
- æ¦ã®ä¸ã«ã¯ãå¤ªé°æ¦ã¨åæ§ã«ãä¸»ã«æã®å¨æã«åºã¥ãã¦æãå®ç¾©ãããã®ãããã¾ããããã¦ã太é½å¹´ã¨ã® 11 æ¥ã®èª¤å·®ãè£ãããã«ãç´ 3 å¹´ãã¨ã« 1 ã¶æåã®éæã追å ããã¾ãããã®ãããªæ¦ã¯ã太é°å¤ªé½æ¦ã¨å¼ã°ãã¾ããããã©ã¤æ¦ããã³ä¸å½æ¦ã¯å¤ªé°å¤ªé½æ¦ã§ãã
Temporal ã§ã¯ã1 ã¤ã®æ¦ä½ç³»ã«ããããã¹ã¦ã®æ¥ä»ã¯ãyearãmonthãday ã® 3 ã¤ã®æåã«ãã£ã¦ä¸æã«èå¥ããã¾ãã year ã¯éå¸¸ãæ£ã®æ´æ°ã§ããã0 ã¾ãã¯è² ã®å¤ãåããæéã¨ã¨ãã«å調ã«å¢å ãã¾ãã1 ã®å¹´ï¼ã¾ãã¯ãåå¨ããå ´å 0ï¼ã¯ãæ¦ã®å
æã¨ãã¦ç¥ããã¦ãããæ¦ãã¨ã«ä»»æã«è¨å®ããã¾ããmonth 㯠1 ããå§ã¾ããdate.monthsInYear ã§çµãããå¹´ãæ¹ã¾ã㨠1 ã«ãªã»ãããããã1 åãã¨ã« 1 ãã¤å¢å ããæ£ã®æ´æ°ã§ããday ãæ£ã®æ´æ°ã§ãããæ¿æ²»çãªå¤æ´ã«ãã£ã¦æ¥ãã¹ãããããããç¹°ãè¿ããããããå ´åãããããã1 ããéå§ããããæ¯å 1 ãã¤å¢å ãããããªãå ´åãããã¾ããããããä¸è¬çã«ã¯ãday ã¯å調ã«å¢å ããæãæ¹ã¾ãã¨ãªã»ããããã¾ãã
year ã«å ãã¦ãæä»£ã使ç¨ããæ¦ã§ã¯ãera 㨠eraYear ã®çµã¿åããã«ãã£ã¦ãå¹´ãåºæã«èå¥ãããã¨ãã§ãã¾ããä¾ãã°ãã°ã¬ã´ãªãªæ¦ã§ã¯ "CE" (Common Era) 㨠"BCE" (Before Common Era) ã¨ããæä»£ã使ç¨ããã¦ãããå¹´ -1 㯠{ era: "bce", eraYear: 2 } ã¨åãã§ãï¼ãªããå¹´ 0 ã¯ãã¹ã¦ã®æ¦ã«åå¨ãã¾ããã°ã¬ã´ãªãªæ¦ã§ã¯ãããã¯å¤©æå¦çç´å¹´æ³ã®ãã 1 BCE ã«å¯¾å¿ãã¾ãï¼ã era ã¯å°æåã®æååã§ãeraYear 㯠0 ã¾ãã¯è² ã®ä»»æã®æ´æ°ã§ãæç¹ã¨ã¨ãã«æ¸å°ããå ´åãããã¾ã ï¼éå¸¸ã¯æãå¤ãæä»£ã®å ´åï¼ã
ã¡ã¢:
era 㨠eraYear ã¯å¸¸ã«ãã¢ã§ä½¿ç¨ãã¦ãã ããã䏿¹ã®ããããã£ã ãã使ç¨ããªãã§ãã ãããã¾ããç«¶åãé¿ãããããå¹´ãæå®ããéã« year 㨠era/eraYear ãçµã¿åããã¦ä½¿ç¨ããªãã§ãã ããã1 ã¤ã®å¹´è¡¨ç¾ã鏿ãããããä¸è²«ãã¦ä½¿ç¨ãã¦ãã ããã
å¹´ã«é¢ããæ¬¡ã®èª¤ã£ãä»®å®ã«æ³¨æãã¦ãã ããã
eraããã³eraYearã常ã«åå¨ããã¨æ³å®ããªãã§ãã ããããããã¯undefinedã§ããå ´åãããã¾ããeraã人éã«ã¨ã£ã¦ããããããæååã§ããã¨æ³å®ããªãã§ãã ããã代ããã«ãtoLocaleString()ã使ç¨ãã¦æ¥ä»ãæ¸å¼åãã¦ä½¿ç¨ãã¦ãã ããã- ç°ãªãæ¦ã® 2 ã¤ã®
yearå¤ãæ¯è¼å¯è½ã§ããã¨æ³å®ããªãã§ãã ããã代ããã«ãéçã¡ã½ããcompare()ã使ç¨ãã¦ãã ããã - 1 年㯠365 æ¥ã¾ã㯠366 æ¥ã12 ã¶æã§ããã¨æ³å®ããªãã§ãã ããã代ããã«
daysInYearããã³monthsInYearã使ç¨ãã¦ãã ããã - éå¹´ï¼
inLeapYearãtrueï¼ã«ã¯ 1 æ¥ã追å ãããã¨ã¯æ³å®ããªãã§ãã ããã1 ãæã追å ãããå ´åãããã¾ãã
month ã«å ãã¦ã1 å¹´éã®æã¯ monthCode ã«ãã£ã¦ä¸æã«èå¥ãããã¨ãã§ãã¾ããmonthCode ã¯é常ãæã®ååã«å²ãå½ã¦ããã¾ãããmonth ã¯ããã§ã¯ããã¾ãããä¾ãã°ã太é°å¤ªé½æ¦ã®å ´åãåã monthCode ãæã¤ 2 ã¤ã®æãããã䏿¹ã¯éå¹´ã«å±ãããã䏿¹ã¯éå¹´ã«å±ããªãå ´åãéæã®å¾ã«ç¶ã 2 ã¤ã®æã® month å¤ã¯ãéæã®æ¿å
¥ã«ãããç°ãªãå¤ã«ãªãã¾ãã
ã¡ã¢:
ç«¶åãé¿ãããããæãæå®ããéã« month 㨠monthCode ãçµã¿åãããªãã§ãã ããã 1 ã¤ã®æã表ãè¡¨è¨æ³ãé¸ã³ããããä¸è²«ãã¦ä½¿ç¨ãã¦ãã ããã month ã¯ã1 å¹´éã®æã®é çªãå¿
è¦ãªã¨ãï¼ãã¨ãã°ãæãã«ã¼ãããå ´åãªã©ï¼ã«ã monthCode ã¯ãæã®ååãå¿
è¦ãªã¨ãï¼ãã¨ãã°ãèªçæ¥ãæ ¼ç´ããå ´åãªã©ï¼ã«ãããããããæç¨ã§ãã
æã«é¢ããæ¬¡ã®èª¤ã£ãä»®å®ã«æ³¨æãã¦ãã ããã
monthCodeã¨monthã常ã«ä¸è´ããã¨æ³å®ããªãã§ãã ããã- 1 ãæéã®æ¥æ°ãæ³å®ããªãã§ãã ããã代ããã«
daysInMonthã使ç¨ãã¦ãã ããã monthCodeã人éã«ã¨ã£ã¦ããããããæååã§ããã¨æ³å®ããªãã§ãã ããã代ããã«ãtoLocaleString()ã使ç¨ãã¦æ¥ä»ãæ¸å¼åãã¦ãã ããã- é常ãé
åããªãã¸ã§ã¯ãã«æã®ååããã£ãã·ã¥ããªãã§ãã ããããã¨ã
monthCodeãé常 1 ã¤ã®æ¦å ã®æã®ååã«å²ãå½ã¦ããã¦ããå ´åã§ããä¾ãã°date.toLocaleString("en-US", { calendar: date.calendarId, month: "long" })ã使ç¨ãã¦ãå¸¸ã«æã®ååãè¨ç®ãããã¨ããå§ããã¾ãã
day ï¼æãã¼ã¹ã®ã¤ã³ããã¯ã¹ï¼ ã«å ãã¦ã1 å¹´ã®ä¸ã® 1 æ¥ã¯ dayOfYear ã«ãã£ã¦ä¸æã«èå¥ãããã¨ãã§ãã¾ããdayOfYear ã¯ã1 ããå§ã¾ããdate.daysInYear ã§çµããã1 ãã¤å¢å ããæ£ã®å¤ã§ãã
ãé±ãã¨ããæ¦å¿µã¯ã天æå¦çãªã¤ãã³ãã¨ã¯é¢ä¿ãªããæåçã«æ§ç¯ããããã®ã§ããæãä¸è¬çãªé·ã㯠7 æ¥éã§ãããé±ã¯ 4ã5ã6ã8 æ¥ããããã¯ãã以ä¸ããããã¯åºå®ã®æ¥æ°ããªãå ´åãããã¾ããããæ¥ä»ã®ããé±ã®å
·ä½çãªæ¥æ°ãåå¾ããã«ã¯ããã®æ¥ä»ã® daysInWeek ã使ç¨ãã¾ããTemporal ã¯ãweekOfYear 㨠yearOfWeek ã®çµã¿åããã«ãã£ã¦é±ãèå¥ãã¾ããweekOfYear ã¯ã1 ããå§ã¾ããå¹´ãé²ããã¨ã« 1 ãã¤å¢å ããæ£ã®æ´æ°ã§ããyearOfWeek ã¯é常 year ã¨åãã§ããã1 é±éã 2 å¹´ã«ã¾ãããå ´åããããyearOfWeek ã¯æ¦ã®è¦åã«åºã¥ã㦠2 å¹´ã®ãã¡ã©ã¡ãã䏿¹ã鏿ãããããåå¹´ã®éå§ã¾ãã¯çµäºæã«ç°ãªãå ´åãããã¾ãã
ã¡ã¢:
weekOfYear 㨠yearOfWeek ã¯å¸¸ã«ãã¢ã§ä½¿ç¨ãã¦ãã ãããweekOfYear 㨠year ã®çµã¿åããã§ã¯ä½¿ç¨ããªãã§ãã ããã
é±ã«é¢ããæ¬¡ã®èª¤ã£ãä»®å®ã«æ³¨æãã¦ãã ããã
weekOfYearããã³yearOfWeekã常ã«åå¨ããã¨æ³å®ããªãã§ãã ããããããã¯undefinedã§ããå ´åãããã¾ãã- é±ã¯å¸¸ã« 7 æ¥éã§ããã¨æ³å®ããªãã§ãã ããã代ããã«
daysInWeekã使ç¨ãã¦ãã ããã - ç¾å¨ã®
TemporalAPI ã¯å¹´é±æ¥ä»ã«å¯¾å¿ãã¦ããªãããããããã®ããããã£ã使ç¨ãã¦æ¥ä»ãæ§ç¯ããããæ¥ä»ãå¹´é±è¡¨ç¾ã«ã·ãªã¢ã«åããããããã¨ã¯ã§ãã¾ããããããã¯æ å ±æä¾ã®ã¿ãç®çã¨ããããããã£ã§ãã
RFC 9557 å½¢å¼
ãã¹ã¦ã® Temporal ã¯ã©ã¹ã¯ã ISO 8601 / RFC 3339 ã«åºã¥ã RFC 9557 ã§æå®ããã¦ããæ¸å¼ã使ç¨ãã¦ãã·ãªã¢ã«åããã³ãã·ãªã¢ã«åãããã¨ãã§ãã¾ãããã®æ¸å¼ã®å®å
¨ãªå½¢å¼ã¯æ¬¡ã®ã¨ããã§ãï¼ç©ºç½ã¯èªã¿ãããã®ããã«ã®ã¿ä½¿ç¨ããã¦ãããå®éã®æååã«ã¯åå¨ãã¾ããï¼ã
YYYY-MM-DD T HH:mm:ss.sssssssss Z/±HH:mm [time_zone_id] [u-ca=calendar_id]
ã¯ã©ã¹ã«ãã£ã¦ãåæåã®åå¨ã«é¢ããè¦ä»¶ãç°ãªããããåã¯ã©ã¹ã®ããã¥ã¡ã³ãå ã«ãRFC 9557 ã®æ¸å¼åãã¨ããç¯ãããããã®ã¯ã©ã¹ãèªèããæ¸å¼åãæå®ããã¦ãã¾ãã
ããã¯ãISO 8601 ã«ãåºã¥ãã¦ãã Date ã§ä½¿ç¨ããã¦ããæ¥ä»ã¨æå»ã®æååã®æ¸å¼ã¨ããä¼¼ã¦ãã¾ãã主ãªè¿½å æ©è½ã¯ããã¤ã¯ãç§ããã³ããç§ã®æåãæå®ã§ãããã¨ã¨ãã¿ã¤ã ã¾ã¼ã³ããã³æ¦ä½ç³»ãæå®ã§ãããã¨ã§ãã
表ç¾å¯è½ãªæ¥ä»
ç¹å®ã®æ¦ã®æ¥ä»ã表ããã¹ã¦ã® Temporal ãªãã¸ã§ã¯ãã¯ã表ç¾å¯è½ãªæ¥ä»ã®ç¯å²ã«åæ§ã®å¶éã課ãã¾ãããã®å¶éã¯ãUnix å
æãã ±108 æ¥ ï¼å
æ¬çï¼ ã¾ã㯠-271821-04-20T00:00:00 ãã +275760-09-13T00:00:00 ã¾ã§ã®ç¬éã§ããããã¯ãæå¹ãªæ¥æã¨åãç¯å²ã§ããããå
·ä½çã«ã¯ã次ã®ã¨ããã§ãã
Temporal.Instantã¨Temporal.ZonedDateTimeã¯ããã®å¶éããã®epochNanosecondså¤ã«ç´æ¥é©ç¨ãã¾ããTemporal.PlainDateTimeã¯ã UTC ã¿ã¤ã ã¾ã¼ã³ã®æ¥ä»ã¨æå»ãè§£éããUnix å æãã ±(108 + 1) æ¥ï¼ä¸¡ç«¯ãå«ã¾ãªãï¼ã§ããå¿ è¦ãããã¾ãããããã£ã¦ãæå¹ãªç¯å²ã¯-271821-04-19T00:00:00ãã大ãã+275760-09-14T00:00:00æªæºã§ããããã«ããããªãã»ããã«é¢ä¿ãªããä»»æã®ZonedDateTimeãPlainDateTimeã«å¤æãããã¨ãã§ãã¾ããTemporal.PlainDateã¯ãPlainDateTimeã¨åããã§ãã¯ããã®æ¥ä»ã®æ£å (12:00:00) ã«é©ç¨ãããããæå¹ãªç¯å²ã¯-271821-04-19ãã+275760-09-13ã¨ãªãã¾ããããã«ãããPlainDateTimeã¯ããã®æç¹ã«é¢ä¿ãªãPlainDateã«å¤æãããã¨ãã§ãããã®éãåæ§ã§ããTemporal.PlainYearMonthã¯ã-271821-04ãã+275760-09ã¾ã§ã®ç¯å²ãæå¹ã§ããããã«ãããæ¥ä»ã«é¢ä¿ãªããä»»æã®PlainDateãPlainYearMonthã«å¤æãããã¨ãã§ãã¾ã ï¼ISO 以å¤ã®æã®æåã®æ¥ã ISO æ-271821-03ã«è©²å½ããå ´åãé¤ãï¼ã
Temporal ãªãã¸ã§ã¯ãã¯ããã®å¶éãè¶
ããæ¥ä»/æå»ã表ãã¤ã³ã¹ã¿ã³ã¹ã®æ§ç¯ãæå¦ãã¾ããããã«ã¯ä»¥ä¸ãå«ã¾ãã¾ãã
- ã³ã³ã¹ãã©ã¯ã¿ã¼ã¾ãã¯
fromï¼ï¼éçã¡ã½ããã使ç¨ãã¾ãã with()ã¡ã½ããã使ç¨ãã¦æ¦ãã£ã¼ã«ããæ´æ°ãã¾ããadd(),subtract(),round()ãã¾ãã¯ãã®ä»ã®ã¡ã½ããã使ç¨ãã¦ãæ°ããã¤ã³ã¹ã¿ã³ã¹ãå°åºãã¾ãã
éçããããã£
Temporal.Duration-
2 ã¤ã®æç¹éã®å·®ã表ãã¾ããæ¥ä»/æå»ã®æ¼ç®ã§ä½¿ç¨ã§ãã¾ããåºæ¬çã«ã¯ãå¹´ãæãé±ãæ¥ãæãåãç§ãããªç§ããã¤ã¯ãç§ãããç§ã®å¤ã®çµã¿åããã¨ãã¦è¡¨ããã¾ãã
Temporal.Instant-
ããç§ã®ç²¾åº¦ã§ãåºæã®æç¹ã表ãã¾ããããã¯åºæ¬çã«ãã¿ã¤ã ã¾ã¼ã³ãæ¦ä½ç³»ã使ç¨ããã«ã Unix å æï¼1970 å¹´ 1 æ 1 æ¥åå 0 æãUTCï¼ããã®ããç§ã®æ°ã¨ãã¦è¡¨ããã¾ãã
Temporal.Now-
ãã¾ãã¾ãªæ¸å¼ã§ç¾å¨ã®æå»ãåå¾ããã¡ã½ãããæä¾ãã¾ãã
Temporal.PlainDate-
æ¦ã®æ¥ä»ï¼æå»ãã¿ã¤ã ã¾ã¼ã³ãå«ã¾ãªãæ¥ä»ï¼ã表ãã¾ããä¾ãã°ãã©ã®ã¿ã¤ã ã¾ã¼ã³ã§çºçãã¦ã 1 æ¥ä¸ç¶ãæ¦ä¸ã®ã¤ãã³ããªã©ã§ããåºæ¬çã«ã¯ãå¹´ãæãæ¥ãã£ã¼ã«ãã¨é¢é£ä»ããããæ¦ä½ç³»ãå«ã ISO 8601 æ¦æ¥ä»ã¨ãã¦è¡¨ããã¾ãã
Temporal.PlainDateTime-
ã¿ã¤ã ã¾ã¼ã³ã®ãªãæ¥ä»ï¼æ¦æ¥ï¼ããã³æå»ï¼å£æè¨ã®æéï¼ã表ãã¾ããåºæ¬çã«ã¯ãæ¥ä»ï¼é¢é£ä»ããããæ¦ä½ç³»ä»ãï¼ã¨æå»ã®çµã¿åããã¨ãã¦è¡¨ããã¾ãã
Temporal.PlainMonthDay-
å¹´ãã¿ã¤ã ã¾ã¼ã³ãå«ã¾ãªããæ¦ã®æ¥ä»ã®æã¨æ¥ã表ãã¾ããä¾ãã°ãæ¯å¹´ç¹°ãè¿ãã1 æ¥ä¸ã«ç¾ããæ¦ä¸ã®ã¤ãã³ããªã©ã§ããããã¯åºæ¬çã«ãå¹´ãæãæ¥ãã£ã¼ã«ãã¨é¢é£ä»ããããæ¦ä½ç³»ãå«ã ISO 8601 ã®æ¦ã®æ¥ä»ã¨ãã¦è¡¨ããã¾ããå¹´ã¯ãISO 以å¤ã®æ¦ä½ç³»ã§æã¨æ¥ãæç¢ºã«ããããã«ä½¿ç¨ããã¾ãã
Temporal.PlainTime-
æ¥ä»ãã¿ã¤ã ã¾ã¼ã³ãå«ã¾ãªãæç¹ã表ãã¾ããä¾ãã°ãæ¯æ¥åãæéã«ç¾ããç¹°ãè¿ãã¤ãã³ããªã©ã§ããåºæ¬çã«ã¯ãæãåãç§ãããªç§ããã¤ã¯ãç§ãããç§ã®å¤ã®çµã¿åããã¨ãã¦è¡¨ããã¾ãã
Temporal.PlainYearMonth-
æ¥ãã¿ã¤ã ã¾ã¼ã³ãå«ã¾ãªããæ¦æ¥ã®å¹´ã¨æã表ãã¾ããä¾ãã°ã1 ãæéã«ç¾ããæ¦ä¸ã®ã¤ãã³ããªã©ã§ããåºæ¬çã«ã¯ãå¹´ãæãæ¥ãã£ã¼ã«ãã¨ãé¢é£ä»ããããæ¦ä½ç³»ãå«ã ISO 8601 æ¦æ¥ã¨ãã¦è¡¨ããã¾ããæ¥ã¯ãISO 以å¤ã®æ¦ä½ç³»ã§å¹´ã¨æãåºå¥ããããã«ä½¿ç¨ããã¾ãã
Temporal.ZonedDateTime-
ã¿ã¤ã ã¾ã¼ã³ä»ãã®æ¥ä»ã¨æå»ã表ãã¾ããåºæ¬çã«ã¯ãç¬éãã¿ã¤ã ã¾ã¼ã³ãããã³æ¦ä½ç³»ã®çµã¿åããã¨ãã¦è¡¨ããã¾ãã
Temporal[Symbol.toStringTag]-
[Symbol.toStringTag]ããããã£ã®åæå¤ã¯ãæåå"Temporal"ã§ãããã®ããããã£ã¯ãObject.prototype.toString()ã§ä½¿ç¨ããã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| Temporal > # sec-temporal-objects > |