From 32a1132a55a6493941ca8441104e1b9d85688147 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Mon, 11 Apr 2022 10:10:04 +0200 Subject: TimeStamp using java compliant with older android version --- .../java/org/uic/barcode/test/TimeStampTest.java | 50 +++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'src/test/java/org/uic') diff --git a/src/test/java/org/uic/barcode/test/TimeStampTest.java b/src/test/java/org/uic/barcode/test/TimeStampTest.java index c15e0fb..f03a63c 100644 --- a/src/test/java/org/uic/barcode/test/TimeStampTest.java +++ b/src/test/java/org/uic/barcode/test/TimeStampTest.java @@ -1,5 +1,8 @@ package org.uic.barcode.test; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.temporal.ChronoField; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; @@ -36,6 +39,51 @@ public class TimeStampTest { } - + @Test public void testDateConversion2() { + + + Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + long day = (long) c.get(Calendar.DAY_OF_YEAR); + long now = c.getTimeInMillis(); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + long passed = now - c.getTimeInMillis(); + long secondOfDay = passed / 1000; + + TimeStamp ts = new TimeStamp(); + assert (ts.day == day); + assert (ts.secondOfDay >= secondOfDay - 1); + assert (ts.secondOfDay <= secondOfDay + 1); + + + } + + @Test public void testDateConversion3() { + + //implemntation not available on older android versions: + ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC")); + long day = new Long(now.get(ChronoField.DAY_OF_YEAR)); + long secondOfDay = new Long(now.get(ChronoField.SECOND_OF_DAY)); + + //alternative implementation + Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC")); + long day2 = (long) c.get(Calendar.DAY_OF_YEAR); + long now2 = c.getTimeInMillis(); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + long passed = now2 - c.getTimeInMillis(); + long secondOfDay2 = passed / 1000; + + + assert (day2 == day); + assert (secondOfDay2 >= secondOfDay - 1); + assert (secondOfDay2 <= secondOfDay + 1); + + + } } -- cgit v1.2.3