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:
commit
8cf4000544
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user