/* 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
{
{
long input = 1_422_528_534_032L ; // Numeric literal for a `long` in modern Java.
Instant instant = Instant.ofEpochMilli( input ) ;
Instant instantTruncated = instant.truncatedTo( ChronoUnit.DAYS ) ;
long millisSinceEpoch = instantTruncated.toEpochMilli() ;
long delta = ( input - millisSinceEpoch ) ;
Duration d = Duration.ofMillis( delta ) ;
System.
out.
println( "input: " + input
) ; System.
out.
println( "instant: " + instant
) ; System.
out.
println( "instantTruncated: " + instantTruncated
) ; System.
out.
println( "millisSinceEpoch: " + millisSinceEpoch
) ; System.
out.
println( "delta: " + delta
) ; System.
out.
println( "d.toString(): " + d
) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgoJCWxvbmcgaW5wdXQgPSAxXzQyMl81MjhfNTM0XzAzMkwgOyAvLyBOdW1lcmljIGxpdGVyYWwgZm9yIGEgYGxvbmdgIGluIG1vZGVybiBKYXZhLgoJCUluc3RhbnQgaW5zdGFudCA9IEluc3RhbnQub2ZFcG9jaE1pbGxpKCBpbnB1dCApIDsKCQkKCQlJbnN0YW50IGluc3RhbnRUcnVuY2F0ZWQgPSBpbnN0YW50LnRydW5jYXRlZFRvKCBDaHJvbm9Vbml0LkRBWVMgKSA7CgkJbG9uZyBtaWxsaXNTaW5jZUVwb2NoID0gaW5zdGFudFRydW5jYXRlZC50b0Vwb2NoTWlsbGkoKSA7CgkJbG9uZyBkZWx0YSA9ICggaW5wdXQgLSBtaWxsaXNTaW5jZUVwb2NoICkgOwoJCUR1cmF0aW9uIGQgPSBEdXJhdGlvbi5vZk1pbGxpcyggZGVsdGEgKSA7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKCAiaW5wdXQ6ICIgKyBpbnB1dCApIDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJpbnN0YW50OiAiICsgaW5zdGFudCApIDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJpbnN0YW50VHJ1bmNhdGVkOiAiICsgaW5zdGFudFRydW5jYXRlZCApIDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJtaWxsaXNTaW5jZUVwb2NoOiAiICsgbWlsbGlzU2luY2VFcG9jaCApIDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJkZWx0YTogIiArIGRlbHRhICkgOwoJCVN5c3RlbS5vdXQucHJpbnRsbiggImQudG9TdHJpbmcoKTogIiArIGQgKSA7CgoJfQp9