/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
import java.time.temporal.ChronoUnit ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate today = LocalDate.now( z ) ;
LocalDate start = today.minusDays( 5 ) ;
LocalDate stop = today.plusDays( 15 ) ;
long totalDays = ChronoUnit.DAYS.between( start , stop ) ;
long elapsedDays = ChronoUnit.DAYS.between( start , today ) ;
long percentComplete = ( elapsedDays * 100 ) / totalDays ;
System.
out.
println( "start.toString(): " + start
) ; System.
out.
println( "today.toString(): " + today
) ; System.
out.
println( "stop.toString(): " + stop
) ; System.
out.
println( "totalDays: " + totalDays
) ; System.
out.
println( "elapsedDays: " + elapsedDays
) ; System.
out.
println( percentComplete
+ "%" ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLnRlbXBvcmFsLkNocm9ub1VuaXQgOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCiAgICBab25lSWQgeiA9IFpvbmVJZC5vZiggIkFtZXJpY2EvTW9udHJlYWwiICkgOwogICAgTG9jYWxEYXRlIHRvZGF5ID0gTG9jYWxEYXRlLm5vdyggeiApIDsKICAgIExvY2FsRGF0ZSBzdGFydCA9IHRvZGF5Lm1pbnVzRGF5cyggNSApIDsKICAgIExvY2FsRGF0ZSBzdG9wID0gdG9kYXkucGx1c0RheXMoIDE1ICkgOwoKICAgIGxvbmcgdG90YWxEYXlzID0gQ2hyb25vVW5pdC5EQVlTLmJldHdlZW4oIHN0YXJ0ICwgc3RvcCApIDsKICAgIGxvbmcgZWxhcHNlZERheXMgPSBDaHJvbm9Vbml0LkRBWVMuYmV0d2Vlbiggc3RhcnQgLCB0b2RheSApIDsKCiAgICBsb25nIHBlcmNlbnRDb21wbGV0ZSA9ICggZWxhcHNlZERheXMgKiAxMDAgKSAvIHRvdGFsRGF5cyA7CgogICAgU3lzdGVtLm91dC5wcmludGxuKCAic3RhcnQudG9TdHJpbmcoKTogIiArIHN0YXJ0ICkgOwogICAgU3lzdGVtLm91dC5wcmludGxuKCAidG9kYXkudG9TdHJpbmcoKTogIiArIHRvZGF5ICkgOwogICAgU3lzdGVtLm91dC5wcmludGxuKCAic3RvcC50b1N0cmluZygpOiAiICsgc3RvcCApIDsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInRvdGFsRGF5czogIiArIHRvdGFsRGF5cyApIDsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggImVsYXBzZWREYXlzOiAiICsgZWxhcHNlZERheXMgKSA7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIHBlcmNlbnRDb21wbGV0ZSArICIlIiApIDsKCX0KfQ==