Skip to main content
Hint

This article is generated by AI translation.

Date/time type handlers

Handlers are in net.hasor.dbvisitor.types.handler.time.

Common handlers

HandlerJava typePurpose
LocalDateTimeTypeHandlerjava.time.LocalDateTimegetObject/setObject for LocalDateTime
LocalTimeTypeHandlerjava.time.LocalTimegetObject/setObject for LocalTime
OffsetDateTimeTypeHandlerjava.time.OffsetDateTimegetObject/setObject for OffsetDateTime
OffsetTimeTypeHandlerjava.time.OffsetTimegetObject/setObject for OffsetTime
SqlDateTypeHandlerjava.sql.DategetObject/setObject for Date
SqlTimestampTypeHandlerjava.sql.TimestampgetObject/setObject for Timestamp
SqlTimeTypeHandlerjava.sql.TimegetObject/setObject for Time

Using java.util.Date

HandlerJava typePurpose
SqlDateAsDateHandlerjava.util.DategetDate/setDate; uses only the date portion
SqlTimeAsDateTypeHandlerjava.util.DategetTime/setTime; drops the date portion
SqlTimestampAsDateTypeHandlerjava.util.DategetTimestamp/setTimestamp

Using java.time.Year

HandlerJava typePurpose
IntegerAsYearTypeHandlerjava.time.YearRead/write a numeric year
StringAsYearTypeHandlerjava.time.YearRead/write a numeric year from a string
SqlTimestampAsYearTypeHandlerjava.time.YeargetTimestamp/setTimestamp; drops month/day/time

Using java.time.YearMonth

HandlerJava typePurpose
IntegerAsYearMonthTypeHandlerjava.time.YearMonthNumeric: last 2 digits are month, the rest is year; 0 -> 0000-01
StringAsYearMonthTypeHandlerjava.time.YearMonthString format "yyyy-MM"
SqlTimestampAsYearMonthTypeHandlerjava.time.YearMonthgetTimestamp/setTimestamp; drops day/time

Using java.time.Month

HandlerJava typePurpose
IntegerAsMonthTypeHandlerjava.time.MonthNumeric month 1-12
StringAsMonthTypeHandlerjava.time.MonthString month 1-12
SqlTimestampAsMonthTypeHandlerjava.time.MonthgetTimestamp/setTimestamp; drops year/day/time

Using java.time.MonthDay

HandlerJava typePurpose
IntegerAsMonthDayTypeHandlerjava.time.MonthDayFour digits: MMDD
StringAsMonthDayTypeHandlerjava.time.MonthDayString format "MM-dd"
SqlTimestampAsMonthDayTypeHandlerjava.time.MonthDaygetTimestamp/setTimestamp; drops year/time

Type conversions

HandlerJava typePurpose
SqlDateAsDateHandlerjava.util.DategetDate/setDate
SqlTimeAsDateTypeHandlerjava.util.DategetTime/setTime; drops the date part
SqlTimestampAsDateTypeHandlerjava.util.DategetTimestamp/setTimestamp
SqlTimestampAsLocalDateTimeTypeHandlerjava.time.LocalDateTimegetTimestamp/setTimestamp
SqlTimestampAsLocalDateTypeHandlerjava.time.LocalDategetTimestamp/setTimestamp; missing time filled with 00:00
SqlTimestampAsLocalTimeTypeHandlerjava.time.LocalTimegetTimestamp/setTimestamp; missing date filled with 0000-01-01
LocalDateTimeAsLocalTimeTypeHandlerjava.time.LocalTimegetObject/setObject; converts LocalDateTime to LocalTime, missing date filled with 0000-01-01
JapaneseDateAsSqlDateTypeHandlerjava.time.chrono.JapaneseDategetDate/setDate
LocalDateTimeAsLocalDateTypeHandlerjava.time.LocalDategetObject/setObject; converts LocalDateTime to LocalDate, missing time filled with 00:00
OffsetDateTimeAsZonedDateTimeTypeHandlerjava.time.ZonedDateTimegetObject/setObject; converts between OffsetDateTime and ZonedDateTime
SqlTimestampAsInstantTypeHandlerjava.time.InstantgetTimestamp/setTimestamp

Automatic timezone conversion

Automatically converts to UTC on read/write.

HandlerJava typePurpose
SqlTimestampAsUTCOffsetDateTimeTypeHandlerjava.time.OffsetDateTimeAuto timezone conversion using OffsetDateTime
SqlTimestampAsUTCOffsetTimeTypeHandlerjava.time.OffsetTimeAuto timezone conversion using OffsetTime