/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.*;
import java.time.temporal.*;
import java.time.format.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
LocalDate ld = LocalDate.of ( 2015, Month.OCTOBER, 24 ); // 24th Oct 2015 at 10:00am
LocalTime lt = LocalTime.of ( 10, 0 );
ZoneId z = ZoneId.of ( "Europe/London" );
ZonedDateTime zdtStart = ZonedDateTime.of ( ld, lt, z );
Instant instantStart = zdtStart.toInstant ( );
Duration sixHours = Duration.ofHours ( 6 );
// Increment the `ZonedDateTime`.
System.
out.
println ( "\n--------| Incrementing ZonedDateTime |-------------------" ); ZonedDateTime zdt = zdtStart;
for ( int i = 1 ; i <= 10 ; i++ ) {
System.
out.
println ( "zdt.toString() " + zdt
+ " | zdt.toInstant().toString(): " + zdt.
toInstant ( ) ); // Set up next loop.
zdt = zdt.plus ( sixHours );
}
// Increment the `Instant`.
System.
out.
println ( "\n--------| Incrementing Instant |-------------------" ); Instant instant = instantStart;
for ( int i = 1 ; i <= 10 ; i++ ) {
System.
out.
println ( ">instant.toString() " + instant
+ " | instant.atZone(z).toString(): " + instant.
atZone ( z
) ); // Set up next loop.
instant = instant.plus ( sixHours );
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKaW1wb3J0IGphdmEudGltZS4qOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLio7CmltcG9ydCBqYXZhLnRpbWUuZm9ybWF0Lio7CgoKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgogICAgICAgIExvY2FsRGF0ZSBsZCA9IExvY2FsRGF0ZS5vZiAoIDIwMTUsIE1vbnRoLk9DVE9CRVIsIDI0ICk7ICAvLyAyNHRoIE9jdCAyMDE1IGF0IDEwOjAwYW0KICAgICAgICBMb2NhbFRpbWUgbHQgPSBMb2NhbFRpbWUub2YgKCAxMCwgMCApOwogICAgICAgIFpvbmVJZCB6ID0gWm9uZUlkLm9mICggIkV1cm9wZS9Mb25kb24iICk7CiAgICAgICAgWm9uZWREYXRlVGltZSB6ZHRTdGFydCA9IFpvbmVkRGF0ZVRpbWUub2YgKCBsZCwgbHQsIHogKTsKICAgICAgICBJbnN0YW50IGluc3RhbnRTdGFydCA9IHpkdFN0YXJ0LnRvSW5zdGFudCAoICk7CiAgICAgICAgRHVyYXRpb24gc2l4SG91cnMgPSBEdXJhdGlvbi5vZkhvdXJzICggNiApOwoKCiAgICAgICAgLy8gSW5jcmVtZW50IHRoZSBgWm9uZWREYXRlVGltZWAuCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuICggIlxuLS0tLS0tLS18ICBJbmNyZW1lbnRpbmcgWm9uZWREYXRlVGltZSAgfC0tLS0tLS0tLS0tLS0tLS0tLS0iICk7CiAgICAgICAgWm9uZWREYXRlVGltZSB6ZHQgPSB6ZHRTdGFydDsKICAgICAgICBmb3IgKCBpbnQgaSA9IDEgOyBpIDw9IDEwIDsgaSsrICkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCAiemR0LnRvU3RyaW5nKCkgIiArIHpkdCArICIgfCB6ZHQudG9JbnN0YW50KCkudG9TdHJpbmcoKTogIiArIHpkdC50b0luc3RhbnQgKCApICk7CiAgICAgICAgICAgIC8vIFNldCB1cCBuZXh0IGxvb3AuCiAgICAgICAgICAgIHpkdCA9IHpkdC5wbHVzICggc2l4SG91cnMgKTsKICAgICAgICB9CgogICAgICAgIC8vIEluY3JlbWVudCB0aGUgYEluc3RhbnRgLgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAoICJcbi0tLS0tLS0tfCAgSW5jcmVtZW50aW5nIEluc3RhbnQgIHwtLS0tLS0tLS0tLS0tLS0tLS0tIiApOwogICAgICAgIEluc3RhbnQgaW5zdGFudCA9IGluc3RhbnRTdGFydDsKICAgICAgICBmb3IgKCBpbnQgaSA9IDEgOyBpIDw9IDEwIDsgaSsrICkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCAiPmluc3RhbnQudG9TdHJpbmcoKSAiICsgaW5zdGFudCArICIgfCBpbnN0YW50LmF0Wm9uZSh6KS50b1N0cmluZygpOiAiICsgaW5zdGFudC5hdFpvbmUgKCB6ICkgKTsKICAgICAgICAgICAgLy8gU2V0IHVwIG5leHQgbG9vcC4KICAgICAgICAgICAgaW5zdGFudCA9IGluc3RhbnQucGx1cyAoIHNpeEhvdXJzICk7CiAgICAgICAgfQogICAgICAgIAoJfQp9