/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

import java.time.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{

    OffsetDateTime odt = OffsetDateTime.now ( ZoneId.systemDefault () );
    ZoneOffset zoneOffsetOfOdt = odt.getOffset ();

    System.out.println( "ZoneId.systemDefault().toString(): " + ZoneId.systemDefault ().toString() );
    System.out.println( "odt: " + odt );
    System.out.println( "zoneOffsetOfOdt: " + zoneOffsetOfOdt );
    System.out.println( "-------------------- "  );

    ZoneId z = ZoneId.of( "America/Montreal" );
    LocalDate ld = LocalDate.of( 2017 , 12 , 25 );
    ZonedDateTime zdtXmas = ld.atStartOfDay( z );
    ZoneOffset zoneOffsetXmas = zdtXmas.getOffset();

    System.out.println( "zdtXmas.toString(): " + zdtXmas );
    System.out.println( "zoneOffsetXmas.toString(): " + zoneOffsetXmas );
    System.out.println( "zoneOffsetXmas.getTotalSeconds(): " + zoneOffsetXmas.getTotalSeconds() );
    System.out.println( "-------------------- "  );

    Instant instant = zdtXmas.toInstant();
    ZoneOffset zo = z.getRules().getOffset( instant );

    System.out.println( "For ZoneId: " + z + " at instant: " + instant + " the ZoneOffset is: " + zo );

	}
}