Package org.daiitech.naftah.utils.time
Class ChronoConversionUtils
java.lang.Object
org.daiitech.naftah.utils.time.ChronoConversionUtils
Utility class for converting between ISO date/time objects and
ChronoLocalDate / ChronoLocalDateTime in arbitrary chronologies.
Includes conversions to/from LocalDate, LocalDateTime,
OffsetDateTime, OffsetTime, and ZonedDateTime.
- Author:
- Chakib Daii
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic ChronoLocalDatetoChronoDate(Temporal isoDate, Chronology chronology) Converts an ISOTemporalto aChronoLocalDatein the given chronology.static ChronoLocalDateTime<?>toChronoDateTime(LocalDateTime isoDateTime, Chronology chronology) Converts an ISOLocalDateTimeto aChronoLocalDateTimein the specified chronology.static ChronoLocalDateTime<?>toChronoDateTime(OffsetDateTime isoDateTime, Chronology chronology) Converts anOffsetDateTimeto aChronoLocalDateTimein the specified chronology.static ChronoLocalDateTime<?>toChronoDateTime(ZonedDateTime isoDateTime, Chronology chronology) Converts aZonedDateTimeto aChronoLocalDateTimein the specified chronology.static TemporaltoChronoTemporal(Temporal temporal, Chronology chronology) Converts any ISOTemporalback to aChronoLocalDateorChronoLocalDateTimein the * specified chronology.static TemporaltoChronoTemporal(Temporal temporal, Chronology chronology, ZoneId zoneIdOrOffset) Converts any ISOTemporalback to aChronoLocalDateorChronoLocalDateTimein the * specified chronology, applying aZoneIdorZoneOffsetif present.static LocalDatetoIsoDate(ChronoLocalDate chronoDate) Converts aChronoLocalDateto ISOLocalDate.static LocalDateTimetoIsoDateTime(ChronoLocalDateTime<?> chronoDateTime) Converts aChronoLocalDateTimeto ISOLocalDateTime.static OffsetDateTimetoIsoOffsetDateTime(ChronoLocalDateTime<?> chronoDateTime, ZoneOffset offset) static TemporaltoIsoTemporal(Temporal temporal) Converts anyTemporalto ISO form.static TemporaltoIsoTemporal(Temporal temporal, ZoneId zoneIdOrOffset) static ZonedDateTimetoIsoZonedDateTime(ChronoLocalDateTime<?> chronoDateTime, ZoneId zoneId)
-
Constructor Details
-
ChronoConversionUtils
private ChronoConversionUtils()Private constructor to prevent instantiation. Always throws aNaftahBugErrorwhen called.
-
-
Method Details
-
toIsoDate
Converts aChronoLocalDateto ISOLocalDate.If the input date is in a non-ISO chronology (e.g., Hijrah), the resulting
LocalDaterepresents the same point in time but in the ISO calendar system.- Parameters:
chronoDate- the date in any chronology- Returns:
- the corresponding ISO
LocalDate
-
toChronoDate
Converts an ISOTemporalto aChronoLocalDatein the given chronology.- Parameters:
isoDate- the ISOTemporalchronology- the chronology to use- Returns:
- a
ChronoLocalDatein the specified chronology
-
toIsoDateTime
Converts aChronoLocalDateTimeto ISOLocalDateTime.- Parameters:
chronoDateTime- the date-time in any chronology- Returns:
- the corresponding ISO
LocalDateTime
-
toChronoDateTime
public static ChronoLocalDateTime<?> toChronoDateTime(LocalDateTime isoDateTime, Chronology chronology) Converts an ISOLocalDateTimeto aChronoLocalDateTimein the specified chronology.- Parameters:
isoDateTime- the ISOLocalDateTimechronology- the chronology to use- Returns:
- a
ChronoLocalDateTimein the specified chronology
-
toIsoOffsetDateTime
public static OffsetDateTime toIsoOffsetDateTime(ChronoLocalDateTime<?> chronoDateTime, ZoneOffset offset) - Parameters:
chronoDateTime- the date-time in any chronologyoffset- theZoneOffsetto apply- Returns:
- an
OffsetDateTimerepresenting the same instant in the given offset
-
toChronoDateTime
public static ChronoLocalDateTime<?> toChronoDateTime(OffsetDateTime isoDateTime, Chronology chronology) Converts anOffsetDateTimeto aChronoLocalDateTimein the specified chronology.- Parameters:
isoDateTime- theOffsetDateTimechronology- the chronology to use- Returns:
- a
ChronoLocalDateTimein the specified chronology
-
toIsoZonedDateTime
public static ZonedDateTime toIsoZonedDateTime(ChronoLocalDateTime<?> chronoDateTime, ZoneId zoneId) - Parameters:
chronoDateTime- the date-time in any chronologyzoneId- the time zone to apply- Returns:
- a
ZonedDateTimerepresenting the same instant in the given zone
-
toChronoDateTime
public static ChronoLocalDateTime<?> toChronoDateTime(ZonedDateTime isoDateTime, Chronology chronology) Converts aZonedDateTimeto aChronoLocalDateTimein the specified chronology.- Parameters:
isoDateTime- theZonedDateTimechronology- the chronology to use- Returns:
- a
ChronoLocalDateTimein the specified chronology
-
toIsoTemporal
Converts anyTemporalto ISO form.- ChronoLocalDate → LocalDate
- ChronoLocalDateTime → LocalDateTime
- Other types are returned unchanged.- Parameters:
temporal- the temporal object to convert- Returns:
- an ISO
Temporalequivalent, or the original temporal if conversion is not needed
-
toIsoTemporal
- Parameters:
temporal- the temporal object to convertzoneIdOrOffset- the zone or offset to apply- Returns:
- an ISO
Temporalwith the zone or offset applied
-
toChronoTemporal
Converts any ISOTemporalback to aChronoLocalDateorChronoLocalDateTimein the * specified chronology.- Parameters:
temporal- the ISO temporalchronology- the target chronology- Returns:
- the temporal in the specified chronology
-
toChronoTemporal
public static Temporal toChronoTemporal(Temporal temporal, Chronology chronology, ZoneId zoneIdOrOffset) Converts any ISOTemporalback to aChronoLocalDateorChronoLocalDateTimein the * specified chronology, applying aZoneIdorZoneOffsetif present.- Parameters:
temporal- the ISO temporalchronology- the target chronologyzoneIdOrOffset- the zone or offset to apply- Returns:
- the temporal in the specified chronology with zone/offset applied
-