Skip to content

Commit 28d2bf8

Browse files
committed
support for conversion LocaTime to/from java.sql.Time
1 parent 5e663a4 commit 28d2bf8

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- support for conversion LocaTime to/from java.sql.Time
13+
1014
## [8.5.7] - 2024-05-05
1115

1216
### Changed

fj-core/src/main/java/org/fugerit/java/core/db/daogen/SQLTypeConverter.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,20 @@ public static LocalDateTime utilDateToLocalDateTime(java.util.Date dateToConvert
5050
return SafeFunction.getIfNotNull( dateToConvert , () -> toZonedDateTime( dateToConvert ).toLocalDateTime() );
5151
}
5252

53+
public static LocalTime utilDateToLocalTime(Time dateToConvert) {
54+
return SafeFunction.getIfNotNull( dateToConvert , () -> toZonedDateTime( dateToConvert ).toLocalTime() );
55+
}
56+
5357
public static Date localDateToSqlDate(LocalDate dateToConvert) {
5458
return SafeFunction.getIfNotNull( dateToConvert , () -> java.sql.Date.valueOf(dateToConvert) );
5559
}
5660

57-
public static Timestamp localDateTimeToTimestamp(LocalDateTime dateToConvert) {
61+
public static Timestamp localDateTimeToSqlTimestamp(LocalDateTime dateToConvert) {
5862
return SafeFunction.getIfNotNull( dateToConvert , () -> java.sql.Timestamp.valueOf(dateToConvert) );
5963
}
60-
64+
65+
public static Time localDateTimeToSqlTime(LocalTime dateToConvert) {
66+
return SafeFunction.getIfNotNull( dateToConvert , () -> java.sql.Time.valueOf(dateToConvert) );
67+
}
68+
6169
}

fj-core/src/test/java/test/org/fugerit/java/core/db/daogein/TestSQLTypeConverter.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
import org.junit.Test;
77

88
import java.sql.Date;
9+
import java.sql.Time;
910
import java.sql.Timestamp;
1011
import java.time.Instant;
1112
import java.time.LocalDate;
1213
import java.time.LocalDateTime;
14+
import java.time.LocalTime;
1315
import java.time.temporal.TemporalField;
1416
import java.util.Calendar;
1517

@@ -18,6 +20,8 @@ public class TestSQLTypeConverter {
1820

1921
private static final int TEST_YEAR = 2024;
2022

23+
private static final int TEST_HOUR = 11;
24+
2125
@Test
2226
public void testLocalDate() {
2327
LocalDate d = SQLTypeConverter.utilDateToLocalDate(Date.valueOf( TEST_YEAR+"-05-05" ));
@@ -32,14 +36,26 @@ public void testLocalDate() {
3236

3337
@Test
3438
public void testLocalDateTime() {
35-
LocalDateTime d = SQLTypeConverter.utilDateToLocalDateTime(Timestamp.valueOf( TEST_YEAR+"-05-05 11:30:00.000" ));
39+
LocalDateTime d = SQLTypeConverter.utilDateToLocalDateTime(Timestamp.valueOf( TEST_YEAR+"-05-05 "+TEST_HOUR+":30:00.000" ));
3640
log.info( "local date time : {}", d );
3741
Assert.assertEquals( TEST_YEAR, d.getYear() );
38-
Timestamp t = SQLTypeConverter.localDateTimeToTimestamp( d );
42+
Timestamp t = SQLTypeConverter.localDateTimeToSqlTimestamp( d );
3943
log.info( "timestamp : {}", t );
4044
Calendar c = Calendar.getInstance();
4145
c.setTime(t);
4246
Assert.assertEquals( TEST_YEAR, c.get( Calendar.YEAR ) );
4347
}
4448

49+
@Test
50+
public void testLocalTime() {
51+
LocalTime d = SQLTypeConverter.utilDateToLocalTime(Time.valueOf( TEST_HOUR+":30:00" ));
52+
log.info( "local time : {}", d );
53+
Assert.assertEquals( TEST_HOUR, d.getHour() );
54+
Time t = SQLTypeConverter.localDateTimeToSqlTime( d );
55+
log.info( "time : {}", t );
56+
Calendar c = Calendar.getInstance();
57+
c.setTime(t);
58+
Assert.assertEquals( TEST_HOUR, c.get( Calendar.HOUR_OF_DAY ) );
59+
}
60+
4561
}

0 commit comments

Comments
 (0)