Adding Examples for ZonedDateTime, OffsetDateTime and OffsetTime
This commit is contained in:
		
							parent
							
								
									9dc52f5630
								
							
						
					
					
						commit
						33e7ce89ce
					
				| @ -0,0 +1 @@ | ||||
| Main-Class: com.baeldung.manifest.AppExample | ||||
| @ -0,0 +1,17 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.OffsetDateTime; | ||||
| import java.time.ZoneId; | ||||
| import java.time.ZoneOffset; | ||||
| 
 | ||||
| public class OffsetDateTimeExample { | ||||
| 
 | ||||
|     public OffsetDateTime getCurrentTimeByZoneOffset(String region) { | ||||
|         LocalDateTime now = LocalDateTime.now(); | ||||
|         ZoneId zone = ZoneId.of(region); | ||||
|         ZoneOffset zoneOffSet= zone.getRules().getOffset(now); | ||||
|         OffsetDateTime date = OffsetDateTime.now(zoneOffSet); | ||||
|         return date; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,18 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.OffsetTime; | ||||
| import java.time.ZoneId; | ||||
| import java.time.ZoneOffset; | ||||
| 
 | ||||
| public class OffsetTimeExample { | ||||
| 
 | ||||
|     public OffsetTime getCurrentTimeByZoneOffset(String region) { | ||||
|         LocalDateTime now = LocalDateTime.now(); | ||||
|         ZoneId zone = ZoneId.of(region); | ||||
|         ZoneOffset zoneOffSet = zone.getRules() | ||||
|             .getOffset(now); | ||||
|         OffsetTime time = OffsetTime.now(zoneOffSet); | ||||
|         return time; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,21 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import java.time.ZoneId; | ||||
| import java.time.ZonedDateTime; | ||||
| 
 | ||||
| public class ZoneDateTimeExample { | ||||
| 
 | ||||
|     public ZonedDateTime getCurrentTimeByZoneId(String region) { | ||||
|         ZoneId zone = ZoneId.of(region); | ||||
|         ZonedDateTime date = ZonedDateTime.now(zone); | ||||
|         return date; | ||||
|     } | ||||
| 
 | ||||
|     public ZonedDateTime convertZonedDateTime(ZonedDateTime sourceDate, String destZone) { | ||||
| 
 | ||||
|         ZoneId destZoneId = ZoneId.of(destZone); | ||||
|         ZonedDateTime destDate = sourceDate.withZoneSameInstant(destZoneId); | ||||
| 
 | ||||
|         return destDate; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,25 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import static org.junit.Assert.assertTrue; | ||||
| 
 | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.OffsetDateTime; | ||||
| import java.time.ZoneId; | ||||
| 
 | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| public class OffsetDateTimeExampleUnitTest { | ||||
| 
 | ||||
|     OffsetDateTimeExample offsetDateTimeExample = new OffsetDateTimeExample(); | ||||
| 
 | ||||
|     @Test | ||||
|     public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() { | ||||
|         String zone = "Europe/Berlin"; | ||||
|         OffsetDateTime time = offsetDateTimeExample.getCurrentTimeByZoneOffset(zone);    | ||||
| 
 | ||||
|         assertTrue(time.getOffset() | ||||
|             .equals(ZoneId.of(zone) | ||||
|                 .getRules() | ||||
|                 .getOffset(LocalDateTime.now()))); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,25 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import static org.junit.Assert.assertTrue; | ||||
| 
 | ||||
| import java.time.LocalDateTime; | ||||
| import java.time.OffsetTime; | ||||
| import java.time.ZoneId; | ||||
| 
 | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| public class OffsetTimeExampleUnitTest { | ||||
| 
 | ||||
|     OffsetTimeExample offsetTimeExample = new OffsetTimeExample(); | ||||
| 
 | ||||
|     @Test | ||||
|     public void givenZoneOffset_whenGetCurrentTime_thenResultHasZone() { | ||||
|         String zone = "Europe/Berlin"; | ||||
|         OffsetTime time = offsetTimeExample.getCurrentTimeByZoneOffset(zone);    | ||||
| 
 | ||||
|         assertTrue(time.getOffset() | ||||
|             .equals(ZoneId.of(zone) | ||||
|                 .getRules() | ||||
|                 .getOffset(LocalDateTime.now()))); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,30 @@ | ||||
| package com.baeldung.zoneddatetime; | ||||
| 
 | ||||
| import static org.junit.Assert.assertTrue; | ||||
| 
 | ||||
| import java.time.ZoneId; | ||||
| import java.time.ZonedDateTime; | ||||
| 
 | ||||
| import org.junit.Test; | ||||
| 
 | ||||
| public class ZoneDateTimeExampleUnitTest { | ||||
| 
 | ||||
|     ZoneDateTimeExample zoneDateTimeExample = new ZoneDateTimeExample(); | ||||
| 
 | ||||
|     @Test | ||||
|     public void givenZone_whenGetCurrentTime_thenResultHasZone() { | ||||
|         String zone = "Europe/Berlin"; | ||||
|         ZonedDateTime time = zoneDateTimeExample.getCurrentTimeByZoneId(zone); | ||||
|         assertTrue(time.getZone() | ||||
|             .equals(ZoneId.of(zone))); | ||||
|     } | ||||
|      | ||||
|     @Test | ||||
|     public void givenZones_whenConvertDateByZone_thenGetConstantDiff() { | ||||
|         String sourceZone = "Europe/Berlin"; | ||||
|         String destZone = "Asia/Tokyo"; | ||||
|         ZonedDateTime sourceDate = zoneDateTimeExample.getCurrentTimeByZoneId(sourceZone); | ||||
|         ZonedDateTime destDate = zoneDateTimeExample.convertZonedDateTime(sourceDate, destZone); | ||||
|         assertTrue(sourceDate.toInstant().compareTo(destDate.toInstant()) == 0); | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user