File tree Expand file tree Collapse file tree
main/java/com/baeldung/zoneddatetime
test/java/com/baeldung/zoneddatetime Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import java .time .LocalDateTime ;
4+ import java .time .OffsetDateTime ;
5+ import java .time .ZoneId ;
6+ import java .time .ZoneOffset ;
7+
8+ public class OffsetDateTimeExample {
9+
10+ public OffsetDateTime getCurrentTimeByZoneOffset (String region ) {
11+ LocalDateTime now = LocalDateTime .now ();
12+ ZoneId zone = ZoneId .of (region );
13+ ZoneOffset zoneOffSet = zone .getRules ().getOffset (now );
14+ OffsetDateTime date = OffsetDateTime .now (zoneOffSet );
15+ return date ;
16+ }
17+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import java .time .LocalDateTime ;
4+ import java .time .OffsetTime ;
5+ import java .time .ZoneId ;
6+ import java .time .ZoneOffset ;
7+
8+ public class OffsetTimeExample {
9+
10+ public OffsetTime getCurrentTimeByZoneOffset (String region ) {
11+ LocalDateTime now = LocalDateTime .now ();
12+ ZoneId zone = ZoneId .of (region );
13+ ZoneOffset zoneOffSet = zone .getRules ()
14+ .getOffset (now );
15+ OffsetTime time = OffsetTime .now (zoneOffSet );
16+ return time ;
17+ }
18+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import java .time .ZoneId ;
4+ import java .time .ZonedDateTime ;
5+
6+ public class ZoneDateTimeExample {
7+
8+ public ZonedDateTime getCurrentTimeByZoneId (String region ) {
9+ ZoneId zone = ZoneId .of (region );
10+ ZonedDateTime date = ZonedDateTime .now (zone );
11+ return date ;
12+ }
13+
14+ public ZonedDateTime convertZonedDateTime (ZonedDateTime sourceDate , String destZone ) {
15+
16+ ZoneId destZoneId = ZoneId .of (destZone );
17+ ZonedDateTime destDate = sourceDate .withZoneSameInstant (destZoneId );
18+
19+ return destDate ;
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import static org .junit .Assert .assertTrue ;
4+
5+ import java .time .LocalDateTime ;
6+ import java .time .OffsetDateTime ;
7+ import java .time .ZoneId ;
8+
9+ import org .junit .Test ;
10+
11+ public class OffsetDateTimeExampleUnitTest {
12+
13+ OffsetDateTimeExample offsetDateTimeExample = new OffsetDateTimeExample ();
14+
15+ @ Test
16+ public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone () {
17+ String zone = "Europe/Berlin" ;
18+ OffsetDateTime time = offsetDateTimeExample .getCurrentTimeByZoneOffset (zone );
19+
20+ assertTrue (time .getOffset ()
21+ .equals (ZoneId .of (zone )
22+ .getRules ()
23+ .getOffset (LocalDateTime .now ())));
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import static org .junit .Assert .assertTrue ;
4+
5+ import java .time .LocalDateTime ;
6+ import java .time .OffsetTime ;
7+ import java .time .ZoneId ;
8+
9+ import org .junit .Test ;
10+
11+ public class OffsetTimeExampleUnitTest {
12+
13+ OffsetTimeExample offsetTimeExample = new OffsetTimeExample ();
14+
15+ @ Test
16+ public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone () {
17+ String zone = "Europe/Berlin" ;
18+ OffsetTime time = offsetTimeExample .getCurrentTimeByZoneOffset (zone );
19+
20+ assertTrue (time .getOffset ()
21+ .equals (ZoneId .of (zone )
22+ .getRules ()
23+ .getOffset (LocalDateTime .now ())));
24+ }
25+ }
Original file line number Diff line number Diff line change 1+ package com .baeldung .zoneddatetime ;
2+
3+ import static org .junit .Assert .assertTrue ;
4+
5+ import java .time .ZoneId ;
6+ import java .time .ZonedDateTime ;
7+
8+ import org .junit .Test ;
9+
10+ public class ZoneDateTimeExampleUnitTest {
11+
12+ ZoneDateTimeExample zoneDateTimeExample = new ZoneDateTimeExample ();
13+
14+ @ Test
15+ public void givenZone_whenGetCurrentTime_thenResultHasZone () {
16+ String zone = "Europe/Berlin" ;
17+ ZonedDateTime time = zoneDateTimeExample .getCurrentTimeByZoneId (zone );
18+ assertTrue (time .getZone ()
19+ .equals (ZoneId .of (zone )));
20+ }
21+
22+ @ Test
23+ public void givenZones_whenConvertDateByZone_thenGetConstantDiff () {
24+ String sourceZone = "Europe/Berlin" ;
25+ String destZone = "Asia/Tokyo" ;
26+ ZonedDateTime sourceDate = zoneDateTimeExample .getCurrentTimeByZoneId (sourceZone );
27+ ZonedDateTime destDate = zoneDateTimeExample .convertZonedDateTime (sourceDate , destZone );
28+ assertTrue (sourceDate .toInstant ().compareTo (destDate .toInstant ()) == 0 );
29+ }
30+ }
You can’t perform that action at this time.
0 commit comments