public interface TemporalField
æ¥ä»ãšæéã¯ãæç³»åã人éã«ãšã£ãŠæå³ã®ããèŠçŽ ã«åå²ãããã£ãŒã«ãã䜿çšããŠè¡šçŸãããŸãã ãã®ã€ã³ã¿ãã§ãŒã¹ã®å®è£ ã¯ããããã®ãã£ãŒã«ãã衚ããŸãã
ãã£ãšãäžè¬çã«äœ¿çšãããåäœã¯ãChronoFieldã§å®çŸ©ãããŸãã ãã®ä»ã®ãã£ãŒã«ãã¯ãIsoFieldsãWeekFieldsããã³JulianFieldsã§æäŸãããŸãã ã¢ããªã±ãŒã·ã§ã³ã»ã³ãŒãã§ãã®ã€ã³ã¿ãã§ãŒã¹ãå®è£
ããããšã«ããããã£ãŒã«ããèšè¿°ããããšãã§ããŸãã
ãã£ãŒã«ãã¯ãäºéã®ãã£ã¹ãããã䜿çšããŠæ©èœããŸãã ã¯ã©ã€ã¢ã³ãã»ã³ãŒãã¯ããã£ãŒã«ããChronoFieldãã©ããã確èªããLocalDateTimeã®ãããªæ¥ä»/æéäžã®ã¡ãœãããåŒã³åºããŸãã ããã§ããå Žåãæ¥ä»/æéã¯ãããåŠçããå¿
èŠããããŸãã ãã以å€ã®å Žåããã®ã¡ãœããåŒåºãã¯ãã®ã€ã³ã¿ãã§ãŒã¹å
ã®äžèŽããã¡ãœããã«å床ãã£ã¹ããããããŸãã
Serializable(çŽååå¯èœ)ã«ããŠãã ããã åæããæå¹ãªå®è£
æ¹æ³ã§ãã | 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
<R extends Temporal> |
adjustInto(R temporal, long newValue) |
ãã®ãã£ãŒã«ãã®å€ãèšå®ããããæå®ãããæéçãªããžã§ã¯ãã®ã³ããŒãè¿ããŸãã
|
TemporalUnit |
getBaseUnit() |
ãã£ãŒã«ãã®æž¬å®åäœãååŸããŸãã
|
default String |
getDisplayName(Locale locale) |
èŠæ±ããããã±ãŒã«ã§ã®ãã£ãŒã«ãã®è¡šç€ºåãååŸããŸãã
|
long |
getFrom(TemporalAccessor temporal) |
æå®ãããæéçãªããžã§ã¯ããããã®ãã£ãŒã«ãã®å€ãååŸããŸãã
|
TemporalUnit |
getRangeUnit() |
ãã£ãŒã«ãã®ç¯å²ãååŸããŸãã
|
boolean |
isDateBased() |
ãã®ãã£ãŒã«ããæ¥ä»ã®ã³ã³ããŒãã³ãã衚ããŠãããã©ããã確èªããŸãã
|
boolean |
isSupportedBy(TemporalAccessor temporal) |
ãã®ãã£ãŒã«ããæéçãªããžã§ã¯ãã§ãµããŒããããŠãããã©ããã確èªããŸãã
|
boolean |
isTimeBased() |
ãã®ãã£ãŒã«ããæéã®ã³ã³ããŒãã³ãã衚ããŠãããã©ããã確èªããŸãã
|
ValueRange |
range() |
ãã£ãŒã«ãã®æå¹å€ã®ç¯å²ãååŸããŸãã
|
ValueRange |
rangeRefinedBy(TemporalAccessor temporal) |
æéçãªããžã§ã¯ãã䜿çšããŠçµæãçµã蟌ãããšã«ããããã®ãã£ãŒã«ãã®æå¹å€ã®ç¯å²ãååŸããŸãã
|
default TemporalAccessor |
resolve(Map<TemporalField,Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle) |
ãã®ãã£ãŒã«ãã解決ããŠãããç°¡åãªä»£æ¿ãŸãã¯æ¥ä»ãæäŸããŸãã
|
String |
toString() |
ãã®ãã£ãŒã«ãã®ããããããååãååŸããŸãã
|
default String getDisplayName(Locale locale)
ãã±ãŒã«çšã®è¡šç€ºåããªãå Žåã¯ãé©åãªããã©ã«ããè¿ãå¿ èŠããããŸãã
ããã©ã«ãã®å®è£
ã§ã¯ããã±ãŒã«ãnullã§ãªãããšã確èªããtoString()ãè¿ãå¿
èŠããããŸãã
locale - 䜿çšãããã±ãŒã«ãnull以å€TemporalUnit getBaseUnit()
ãã£ãŒã«ãã®åäœã¯ãç¯å²å
ã§å€åããæéã§ãã ããšãã°ããã£ãŒã«ããMonthOfYearãã®åäœã¯ãMonthsãã§ãã getRangeUnit()ãåç
§ããŠãã ããã
TemporalUnit getRangeUnit()
ãã£ãŒã«ãã®ç¯å²ã¯ããã£ãŒã«ãããã®ç¯å²å
ã§å€åããæéã§ãã ããšãã°ããã£ãŒã«ããMonthOfYearãã®ç¯å²ã¯ãYearsãã§ãã getBaseUnit()ãåç
§ããŠãã ããã
ç¯å²ãnullã«ãªãããšã¯ãããŸããã ããšãã°ããYearããã£ãŒã«ãã¯ãYearOfForeverãã®ç瞮圢ã§ãã ãããã£ãŠããã®åäœã¯ãYearsãã§ãç¯å²ã¯ãForeverãã§ãã
ValueRange range()
ãã¹ãŠã®ãã£ãŒã«ãã¯longæŽæ°ã§è¡šçŸã§ããŸãã ãã®ã¡ãœããã¯ããã®å€ã®æå¹ç¯å²ãèšè¿°ãããªããžã§ã¯ããè¿ããŸãã ãã®ã¡ãœããã¯ãäžè¬ã«ISO-8601æŠäœç³»ã®ã¿ã«é©çšãããŸãã
çµæã¯æå¹ãªæå°å€ãšæå€§å€ãèšè¿°ããŠããã ããªã®ã§ãããããæ·±ãè§£éããããªãããšãéèŠã§ãã ããšãã°ãç¯å²å ã®å€ã§ãã£ãŠãããã£ãŒã«ãã«å¯ŸããŠç¡å¹ãªå ŽåããããŸãã
boolean isDateBased()
EPOCH_DAYããå°åºã§ãããã£ãŒã«ãã¯ãæ¥ä»ããŒã¹ã§ãã ããšãã°ã1é±éã®ãã¡ã®åãã®ãããªãã£ãŒã«ãã衚ãå ŽåãisDateBased()ãšisTimeBased()ã®äž¡æ¹ãfalseãè¿ãã®ã¯æå¹ã§ãã
boolean isTimeBased()
NANO_OF_DAYããå°åºã§ãããã£ãŒã«ãã¯ãæéããŒã¹ã§ãã ããšãã°ã1é±éã®ãã¡ã®åãã®ãããªãã£ãŒã«ãã衚ãå ŽåãisDateBased()ãšisTimeBased()ã®äž¡æ¹ãfalseãè¿ãã®ã¯æå¹ã§ãã
boolean isSupportedBy(TemporalAccessor temporal)
ããã¯ãæéçãªããžã§ã¯ãã®ã¢ã¯ã»ãµããã®ãã£ãŒã«ãããµããŒãããŠãããã©ãããå€å®ããŸãã ãããfalseãè¿ãå Žåããã®ãã£ãŒã«ãã«ã€ããŠæéçãªããžã§ã¯ãã«åãåããããšã¯ã§ããŸããã
ãã®ã¡ãœããã䜿çšããçäŸ¡ãªæ¹æ³ã2ã€ãããŸãã 1ã€ç®ã¯ãã®ã¡ãœãããçŽæ¥åŒã³åºãããšã§ãã 2ã€ç®ã¯TemporalAccessor.isSupported(TemporalField)ã䜿çšããããšã§ãã
// these two lines are equivalent, but the second approach is recommended temporal = thisField.isSupportedBy(temporal); temporal = temporal.isSupported(thisField);2ã€ç®ã®æ¹æ³
isSupported(TemporalField)ã®æ¹ãã³ãŒããèªããšãã«ãããããããããããã䜿çšããããšããèŠãããŸãã
å®è£
ã§ã¯ããµããŒããããŠãããã©ãããå€å®ããããã«ãChronoFieldã§äœ¿çšå¯èœãªãã£ãŒã«ãã䜿çšããããã«ããŠãã ããã
temporal - åãåããæéçãªããžã§ã¯ããnull以å€ValueRange rangeRefinedBy(TemporalAccessor temporal)
ããã¯æéçãªããžã§ã¯ãã䜿çšããŠãã£ãŒã«ãã®æå¹å€ã®ç¯å²ãèŠã€ããŸãã ããã¯ãrange()ã«äŒŒãŠããŸããããã®ã¡ãœããã¯æéçãªããžã§ã¯ãã䜿çšããŠçµæã調æŽããŸãã ããšãã°ããã£ãŒã«ããDAY_OF_MONTHã®å Žåãæã®é·ãã«ã¯28ã29ã30ããã³31æ¥ã®4ã€ã®å¯èœæ§ããããããrangeã¡ãœããã¯æ£ç¢ºã§ã¯ãããŸããã ãã®ã¡ãœãããæ¥ä»ã«äœ¿çšãããšãç¯å²ã¯æ£ç¢ºã«ãªããããã4ã€ã®ãªãã·ã§ã³ã®ãã¡1ã€ã ããè¿ãããŸãã
ãã®ã¡ãœããã䜿çšããçäŸ¡ãªæ¹æ³ã2ã€ãããŸãã 1ã€ç®ã¯ãã®ã¡ãœãããçŽæ¥åŒã³åºãããšã§ãã 2ã€ç®ã¯TemporalAccessor.range(TemporalField)ã䜿çšããããšã§ãã
// these two lines are equivalent, but the second approach is recommended temporal = thisField.rangeRefinedBy(temporal); temporal = temporal.range(thisField);2ã€ç®ã®æ¹æ³
range(TemporalField)ã®æ¹ãã³ãŒããèªããšãã«ãããããããããããã䜿çšããããšããèŠãããŸãã
å®è£
ã§ã¯ãååããèšç®ãå®è¡ããå ŽåãChronoFieldã§äœ¿çšå¯èœãªãã£ãŒã«ãã䜿çšããããã«ããŠãã ããã ãã£ãŒã«ãããµããŒããããŠããªãå Žåã¯ãUnsupportedTemporalTypeExceptionãã¹ããŒããå¿
èŠããããŸãã
temporal - çµæãçµã蟌ãããã«äœ¿çšãããæéçãªããžã§ã¯ããnull以å€DateTimeException - ãã£ãŒã«ãã®ç¯å²ãååŸã§ããªãå ŽåUnsupportedTemporalTypeException - ãã£ãŒã«ããæéçãªããžã§ã¯ãã«ãã£ãŠãµããŒããããªãå Žålong getFrom(TemporalAccessor temporal)
ããã¯ããã®ãã£ãŒã«ãã®å€ã«ã€ããŠæéçãªããžã§ã¯ãã«åãåããŸãã
ãã®ã¡ãœããã䜿çšããçäŸ¡ãªæ¹æ³ã2ã€ãããŸãã 1ã€ç®ã¯ãã®ã¡ãœãããçŽæ¥åŒã³åºãããšã§ãã 2ã€ç®ã¯TemporalAccessor.getLong(TemporalField) (ãŸãã¯TemporalAccessor.get(TemporalField))ã䜿çšããããšã§ãã
// these two lines are equivalent, but the second approach is recommended temporal = thisField.getFrom(temporal); temporal = temporal.getLong(thisField);2ã€ç®ã®æ¹æ³
getLong(TemporalField)ã®æ¹ãã³ãŒããèªããšãã«ãããããããããããã䜿çšããããšããèŠãããŸãã
å®è£
ã§ã¯ãååããèšç®ãå®è¡ããå ŽåãChronoFieldã§äœ¿çšå¯èœãªãã£ãŒã«ãã䜿çšããããã«ããŠãã ããã ãã£ãŒã«ãããµããŒããããŠããªãå Žåã¯ãUnsupportedTemporalTypeExceptionãã¹ããŒããå¿
èŠããããŸãã
temporal - åãåããæéçãªããžã§ã¯ããnull以å€DateTimeException - ãã£ãŒã«ãã®å€ãååŸã§ããªãå ŽåUnsupportedTemporalTypeException - ãã£ãŒã«ããæéçãªããžã§ã¯ãã«ãã£ãŠãµããŒããããªãå ŽåArithmeticException - æ°å€ã®ãªãŒããŒãããŒãçºçããå Žå<R extends Temporal> R adjustInto(R temporal, long newValue)
ããã¯ãæå®ãããæéçãªããžã§ã¯ãã«åºã¥ãããã®ãã£ãŒã«ãã®å€ã倿Žãããæ°ããæéçãªããžã§ã¯ããè¿ããŸãã ããšãã°ãLocalDateã§ãããã¯å¹ŽãæããŸãã¯ãæã®æ¥ããèšå®ããããã«äœ¿çšã§ããŸãã è¿ããããªããžã§ã¯ãã¯ãæå®ããããªããžã§ã¯ããšåãèå¥å¯èœãªåãæã¡ãŸãã
ãã£ãŒã«ãã®å€æŽãå®å šã«ã¯å®çŸ©ãããŠããªãå ŽåããããŸãã ããšãã°ãã¿ãŒã²ããã»ãªããžã§ã¯ãã1æ31æ¥ãè¡šãæ¥ä»ã§ããå Žåãæã2æã«å€æŽããããšã¯äžæãªå ŽåããããŸãã ãã®ãããªã±ãŒã¹ã§ã¯ãå®è£ ãçµæã®è§£æ±ºãæ åœããŸãã éåžžã¯1ã€åã®æå¹ãªæ¥ä»ãéžæããããã®äŸã®å Žåã¯2æã®æåŸã®æå¹ãªæ¥ã«ãªããŸãã
ãã®ã¡ãœããã䜿çšããçäŸ¡ãªæ¹æ³ã2ã€ãããŸãã 1ã€ç®ã¯ãã®ã¡ãœãããçŽæ¥åŒã³åºãããšã§ãã 2ã€ç®ã¯Temporal.with(TemporalField, long)ã䜿çšããããšã§ãã
// these two lines are equivalent, but the second approach is recommended temporal = thisField.adjustInto(temporal); temporal = temporal.with(thisField);2ã€ç®ã®æ¹æ³
with(TemporalField)ã®æ¹ãã³ãŒããèªããšãã«ãããããããããããã䜿çšããããšããèŠãããŸãã
å®è£
ã§ã¯ãååããèšç®ãå®è¡ããå ŽåãChronoFieldã§äœ¿çšå¯èœãªãã£ãŒã«ãã䜿çšããããã«ããŠãã ããã ãã£ãŒã«ãããµããŒããããŠããªãå Žåã¯ãUnsupportedTemporalTypeExceptionãã¹ããŒããå¿
èŠããããŸãã
å®è£ ã§ã¯ãæå®ãããæéçãªããžã§ã¯ãã倿ŽããŠã¯ãããŸããã ãããã«ãå ã®ãªããžã§ã¯ãã®èª¿æŽæžã®ã³ããŒãè¿ãå¿ èŠããããŸãã ããã¯ãäžå€ããã³å¯å€ã®å®è£ ã«å®å šã§ç䟡ãªåäœãæäŸããŸãã
R - Temporalãªããžã§ã¯ãã®åtemporal - 調æŽããæéçãªããžã§ã¯ããnull以å€newValue - ãã£ãŒã«ãã®æ°ããå€DateTimeException - ãã£ãŒã«ããèšå®ã§ããªãå ŽåUnsupportedTemporalTypeException - ãã£ãŒã«ããæéçãªããžã§ã¯ãã«ãã£ãŠãµããŒããããªãå ŽåArithmeticException - æ°å€ã®ãªãŒããŒãããŒãçºçããå Žådefault TemporalAccessor resolve(Map<TemporalField,Long> fieldValues, TemporalAccessor partialTemporal, ResolverStyle resolverStyle)
ãã®ã¡ãœããã¯ãè§£æã®è§£æ±ºãã§ãŒãºã§åŒã³åºãããŸãã ããã¯ãã¢ããªã±ãŒã·ã§ã³ã§å®çŸ©ããããã£ãŒã«ããããæšæºçãªãã£ãŒã«ã(ChronoFieldäžã®ãã£ãŒã«ããªã©)ãæ¥ä»ã«åçŽåã§ããããã«èšèšãããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ã¯ãéåžžããã®ã¡ãœãããçŽæ¥åŒã³åºããªãã§ãã ããã
æå®ããããããã«ã¯ãè§£æã®çŸåšã®ç¶æ ãå«ãŸããŠããŸãã ãããã¯å¯å€ã§ããããã®ãã£ãŒã«ãããã³é¢é£ãããã£ãŒã«ãã解決ããããã«å€æŽããå¿ èŠããããŸãã ãããã«ãã®ãã£ãŒã«ããå«ãŸããå Žåããã®ã¡ãœããã¯è§£æäžã«ã®ã¿åŒã³åºãããŸãããããã£ãŠãå®è£ ã¯ãã®ãã£ãŒã«ããååšããããšãåæãšããŠãã ããã
ãã£ãŒã«ãã®è§£æ±ºã¯ããã®ãã£ãŒã«ã(ããã³å Žåã«ãã£ãŠã¯ä»ã®ãã£ãŒã«ã)ã®å€ã確èªããããåçŽãªå€(ChronoFieldãªã©)ã§ããããæŽæ°ãããããŸãã¯å®å
šãªChronoLocalDateãè¿ãããšã§è¡ãããŸãã è§£æ±ºã«æåããå Žåãã³ãŒãã¯è§£æ±ºããããã¹ãŠã®ãã£ãŒã«ã(ãã®ãã£ãŒã«ããå«ã)ããããããåé€ããå¿
èŠããããŸãã
ããšãã°ãIsoFieldsã¯ã©ã¹ã«ã¯ååæãã£ãŒã«ããšãååæã®æ¥ããã£ãŒã«ããå«ãŸããŠããŸãã ãã®ã¯ã©ã¹ã«å«ãŸãããã®ã¡ãœããã®å®è£
ã¯ã2ã€ã®ãã£ãŒã«ããšYEARãå®å
šãªLocalDateã«è§£æ±ºããŸãã 解決ã¡ãœããã¯ãLocalDateãè¿ãåã«3ã€ã®ãã£ãŒã«ããããããããã¹ãŠåé€ããŸãã
æŠãšãŸãŒã³ã®ååããå¯èœã«ãããããéšåçã«å®å
šãªæéçãªããžã§ã¯ãã䜿çšãããŸãã äžè¬ã«ã¯ãæŠã®ã¿ãå¿
èŠã«ãªããŸãã ãŸãŒã³ãšæŠä»¥å€ã®é
ç®ã®ååãã¯å®çŸ©ãããŠããªããããããã«äŸåããŠã¯ãããŸããã ä»ã®ã¡ãœãã(getãgetLongãrangeãisSupportedãªã©)ã®åäœã¯äºæž¬äžå¯èœã§ãããçµæã¯å®çŸ©ãããŠããŸããã
解決ãå¯èœãªã¯ãã ããããŒã¿ãç¡å¹ã§ããå Žåã¯ããªãŸã«ãã»ã¹ã¿ã€ã«ã䜿çšããŠé©åãªéå³å¯ã¬ãã«ã決å®ããããã«ããŠãã ããããã®å ŽåãDateTimeExceptionãŸãã¯ArithmeticExceptionã®ã¹ããŒãå¿
èŠã«ãªãããšããããŸãã 解決ãå¯èœã§ãªãå Žåã解決ã¡ãœããã¯nullãè¿ãå¿
èŠããããŸãã
æéãã£ãŒã«ãã解決ãããšããããã倿Žãããnullãè¿ãããŸãã æ¥ä»ãã£ãŒã«ãã解決ãããšãéåžžã¯ã¡ãœããããæ¥ä»ãè¿ããã解決ããããã£ãŒã«ããåé€ããããã«ãããã倿ŽãããŸãã ãã ããæ¥ä»ãã£ãŒã«ãããæ¥ä»ãçæã§ããä»ã®ChronoFieldã€ã³ã¹ã¿ã³ã¹(EPOCH_DAYãªã©)ã«è§£æ±ºããããšã蚱容ãããŸãã
å¿
ããããã¹ãŠã®TemporalAccessorå®è£
ãæ»ãå€ãšããŠåãå
¥ããããããã§ã¯ãããŸããã ãã®ã¡ãœãããåŒã³åºãå®è£
ã¯ãChronoLocalDateãChronoLocalDateTimeãChronoZonedDateTimeããã³LocalTimeãåãå
¥ããå¿
èŠããããŸãã
ããã©ã«ãå®è£ ã¯nullãè¿ãå¿ èŠããããŸãã
fieldValues - ãã£ãŒã«ããšå€ã®ããããæŽæ°å¯èœãnull以å€partialTemporal - ãŸãŒã³ãšæŠãåãåããããã®éšåçã«å®å
šãªæéçãªããžã§ã¯ããä»ã®é
ç®ã®ååãã¯æªå®çŸ©ã§ãããæšå¥šãããªããnull以å€resolverStyle - èŠæ±ããã解決ã®ã¿ã€ããnull以å€ArithmeticException - æ°å€ã®ãªãŒããŒãããŒãçºçããå ŽåDateTimeException - 解決æã«ãšã©ãŒãçºçããå Žåã temporaläžã®ãã£ãŒã«ãããµããŒããããŠãããã©ãããæåã«ç¢ºèªããã«ããã®ãã£ãŒã«ããåãåããå Žåã¯ããããã¹ããŒããŠã¯ãããŸããã String toString()
ãã£ãŒã«ããFOREVERã®ç¯å²ãæã£ãŠãã(ãYearãããEraããªã©ãããŒã¹åäœã®ã¿ãæå®ãããŠãã)å Žåãé€ãããã®ååã®ãã©ãŒãããã¯ãBaseOfRangeã(ãMonthOfYearããªã©)ãšãªããŸãã
ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã