Merge pull request #5293 from RanjeetKaur17/develop.0.3.0

Changes to directly create ZoneOffset using offset value rather using…
This commit is contained in:
José Carlos Valero Sánchez 2018-09-19 21:23:06 +02:00 committed by GitHub
commit 8cf4000544
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 29 deletions

View File

@ -1,16 +1,12 @@
package com.baeldung.zoneddatetime; package com.baeldung.zoneddatetime;
import java.time.LocalDateTime;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset; import java.time.ZoneOffset;
public class OffsetDateTimeExample { public class OffsetDateTimeExample {
public OffsetDateTime getCurrentTimeByZoneOffset(String region) { public OffsetDateTime getCurrentTimeByZoneOffset(String offset) {
LocalDateTime now = LocalDateTime.now(); ZoneOffset zoneOffSet= ZoneOffset.of(offset);
ZoneId zone = ZoneId.of(region);
ZoneOffset zoneOffSet= zone.getRules().getOffset(now);
OffsetDateTime date = OffsetDateTime.now(zoneOffSet); OffsetDateTime date = OffsetDateTime.now(zoneOffSet);
return date; return date;
} }

View File

@ -1,17 +1,12 @@
package com.baeldung.zoneddatetime; package com.baeldung.zoneddatetime;
import java.time.LocalDateTime;
import java.time.OffsetTime; import java.time.OffsetTime;
import java.time.ZoneId;
import java.time.ZoneOffset; import java.time.ZoneOffset;
public class OffsetTimeExample { public class OffsetTimeExample {
public OffsetTime getCurrentTimeByZoneOffset(String region) { public OffsetTime getCurrentTimeByZoneOffset(String offset) {
LocalDateTime now = LocalDateTime.now(); ZoneOffset zoneOffSet = ZoneOffset.of(offset);
ZoneId zone = ZoneId.of(region);
ZoneOffset zoneOffSet = zone.getRules()
.getOffset(now);
OffsetTime time = OffsetTime.now(zoneOffSet); OffsetTime time = OffsetTime.now(zoneOffSet);
return time; return time;
} }

View File

@ -2,9 +2,8 @@ package com.baeldung.zoneddatetime;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import java.time.ZoneId; import java.time.ZoneOffset;
import org.junit.Test; import org.junit.Test;
@ -14,12 +13,10 @@ public class OffsetDateTimeExampleUnitTest {
@Test @Test
public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() { public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() {
String zone = "Europe/Berlin"; String offset = "+02:00";
OffsetDateTime time = offsetDateTimeExample.getCurrentTimeByZoneOffset(zone); OffsetDateTime time = offsetDateTimeExample.getCurrentTimeByZoneOffset(offset);
assertTrue(time.getOffset() assertTrue(time.getOffset()
.equals(ZoneId.of(zone) .equals(ZoneOffset.of(offset)));
.getRules()
.getOffset(LocalDateTime.now())));
} }
} }

View File

@ -2,9 +2,8 @@ package com.baeldung.zoneddatetime;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import java.time.LocalDateTime;
import java.time.OffsetTime; import java.time.OffsetTime;
import java.time.ZoneId; import java.time.ZoneOffset;
import org.junit.Test; import org.junit.Test;
@ -14,12 +13,10 @@ public class OffsetTimeExampleUnitTest {
@Test @Test
public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() { public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() {
String zone = "Europe/Berlin"; String offset = "+02:00";
OffsetTime time = offsetTimeExample.getCurrentTimeByZoneOffset(zone); OffsetTime time = offsetTimeExample.getCurrentTimeByZoneOffset(offset);
assertTrue(time.getOffset() assertTrue(time.getOffset()
.equals(ZoneId.of(zone) .equals(ZoneOffset.of(offset)));
.getRules()
.getOffset(LocalDateTime.now())));
} }
} }

View File

@ -15,16 +15,19 @@ public class ZoneDateTimeExampleUnitTest {
public void givenZone_whenGetCurrentTime_thenResultHasZone() { public void givenZone_whenGetCurrentTime_thenResultHasZone() {
String zone = "Europe/Berlin"; String zone = "Europe/Berlin";
ZonedDateTime time = zoneDateTimeExample.getCurrentTimeByZoneId(zone); ZonedDateTime time = zoneDateTimeExample.getCurrentTimeByZoneId(zone);
assertTrue(time.getZone() assertTrue(time.getZone()
.equals(ZoneId.of(zone))); .equals(ZoneId.of(zone)));
} }
@Test @Test
public void givenZones_whenConvertDateByZone_thenGetConstantDiff() { public void givenZones_whenConvertDateByZone_thenGetConstantDiff() {
String sourceZone = "Europe/Berlin"; String sourceZone = "Europe/Berlin";
String destZone = "Asia/Tokyo"; String destZone = "Asia/Tokyo";
ZonedDateTime sourceDate = zoneDateTimeExample.getCurrentTimeByZoneId(sourceZone); ZonedDateTime sourceDate = zoneDateTimeExample.getCurrentTimeByZoneId(sourceZone);
ZonedDateTime destDate = zoneDateTimeExample.convertZonedDateTime(sourceDate, destZone); ZonedDateTime destDate = zoneDateTimeExample.convertZonedDateTime(sourceDate, destZone);
assertTrue(sourceDate.toInstant().compareTo(destDate.toInstant()) == 0);
assertTrue(sourceDate.toInstant()
.compareTo(destDate.toInstant()) == 0);
} }
} }