/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
import java.time.format.* ;
import java.time.temporal.* ;
import java.time.chrono.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
OffsetDateTime start = OffsetDateTime.parse( "2019-10-25T00:00:00-07:00" );
OffsetDateTime stop = start.plusDays( 1 ) ;
System.
out.
println( "start.toString(): " + start
) ; System.
out.
println( "stop.toString(): " + stop
) ;
OffsetDateTime
.parse( "2019-10-25T00:00:00-07:00" )
.toInstant()
.toString()
);
ZoneId z = ZoneId.of( "Asia/Kuala_Lumpur" ) ;
LocalDate ld = LocalDate.parse( "2019-10-25" ) ;
ZonedDateTime zdtStart = ld.atStartOfDay( z ) ;
ZonedDateTime zdtStop = zdtStart.plusDays( 1 ) ;
Instant utcStart = zdtStart.toInstant() ;
Instant utcStop = zdtStop.toInstant() ;
long secondsSinceEpochStart = utcStart.getEpochSecond() ;
long secondsSinceEpochStop = utcStop.getEpochSecond() ;
System.
out.
println( "zdtStart/zdtStop: " + zdtStart
+ "/" + zdtStop
) ; System.
out.
println( "utcStart/utcStop: " + utcStart
+ "/" + utcStop
) ; System.
out.
println( "secondsSinceEpochStart/secondsSinceEpochStop: " + secondsSinceEpochStart
+ "/" + secondsSinceEpochStop
) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKaW1wb3J0IGphdmEudGltZS50ZW1wb3JhbC4qIDsKaW1wb3J0IGphdmEudGltZS5jaHJvbm8uKiA7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoKCSAgICBPZmZzZXREYXRlVGltZSBzdGFydCA9IE9mZnNldERhdGVUaW1lLnBhcnNlKCAiMjAxOS0xMC0yNVQwMDowMDowMC0wNzowMCIgKTsKCSAgICBPZmZzZXREYXRlVGltZSBzdG9wID0gc3RhcnQucGx1c0RheXMoIDEgKSA7CgkgICAgCgkgICAgU3lzdGVtLm91dC5wcmludGxuKCAic3RhcnQudG9TdHJpbmcoKTogIiArIHN0YXJ0ICkgOwoJICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInN0b3AudG9TdHJpbmcoKTogIiArIHN0b3AgKSA7CgkgICAgCgkgICAgU3lzdGVtLm91dC5wcmludGxuKAoJICAgIAlPZmZzZXREYXRlVGltZQogICAgICAgICAgICAucGFyc2UoICIyMDE5LTEwLTI1VDAwOjAwOjAwLTA3OjAwIiApCiAgICAgICAgICAgIC50b0luc3RhbnQoKQogICAgICAgICAgICAudG9TdHJpbmcoKSAKCSAgICApOwoJICAgIAoJICAgIFpvbmVJZCB6ID0gWm9uZUlkLm9mKCAiQXNpYS9LdWFsYV9MdW1wdXIiICkgOwoJICAgIExvY2FsRGF0ZSBsZCA9IExvY2FsRGF0ZS5wYXJzZSggIjIwMTktMTAtMjUiICkgOwoJICAgIFpvbmVkRGF0ZVRpbWUgemR0U3RhcnQgPSBsZC5hdFN0YXJ0T2ZEYXkoIHogKSA7CgkgICAgWm9uZWREYXRlVGltZSB6ZHRTdG9wID0gemR0U3RhcnQucGx1c0RheXMoIDEgKSA7CgkKCSAgICBJbnN0YW50IHV0Y1N0YXJ0ID0gemR0U3RhcnQudG9JbnN0YW50KCkgOwoJICAgIEluc3RhbnQgdXRjU3RvcCA9IHpkdFN0b3AudG9JbnN0YW50KCkgOwoKCSAgICBsb25nIHNlY29uZHNTaW5jZUVwb2NoU3RhcnQgPSB1dGNTdGFydC5nZXRFcG9jaFNlY29uZCgpIDsKCSAgICBsb25nIHNlY29uZHNTaW5jZUVwb2NoU3RvcCA9IHV0Y1N0b3AuZ2V0RXBvY2hTZWNvbmQoKSA7CgkgICAgCgkgICAgU3lzdGVtLm91dC5wcmludGxuKCAiemR0U3RhcnQvemR0U3RvcDogIiArIHpkdFN0YXJ0ICsgIi8iICsgemR0U3RvcCApIDsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJ1dGNTdGFydC91dGNTdG9wOiAiICsgdXRjU3RhcnQgKyAiLyIgKyB1dGNTdG9wICkgOwoJICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInNlY29uZHNTaW5jZUVwb2NoU3RhcnQvc2Vjb25kc1NpbmNlRXBvY2hTdG9wOiAiICsgc2Vjb25kc1NpbmNlRXBvY2hTdGFydCArICIvIiArIHNlY29uZHNTaW5jZUVwb2NoU3RvcCApIDsKICAgIAoJfQp9