/* 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
{
	public static void main (String[] args) throws java.lang.Exception
	{

        Instant start = OffsetDateTime.of( 2020 , 1 , 23 , 15 , 30 , 0 , 0 , ZoneOffset.UTC ).toInstant();
        Instant stop = OffsetDateTime.of( 2020 , 1 , 23 , 15 , 30 , 0 , 0 , ZoneOffset.UTC ).plusWeeks( 7 ).toInstant();

        ZoneId z = ZoneId.of( "America/Montreal" );

        ZonedDateTime startZdt = start.atZone( z );
        ZonedDateTime stopZdt = stop.atZone( z );

        long weeksCount = ChronoUnit.WEEKS.between( startZdt , stopZdt );

        System.out.println( "start.toString() = " + start );
        System.out.println( "stop.toString() = " + stop );
        System.out.println( "startZdt.toString() = " + startZdt );
        System.out.println( "stopZdt.toString() = " + stopZdt );
        System.out.println( "weeksCount: " + weeksCount );
        
        System.out.println(
        	
    	    ChronoUnit
		    .WEEKS
		    .between(
		        java.util.Date.from( start ).toInstant().atZone( ZoneId.of( "Asia/Tokyo" ) ) , 
		        java.util.Date.from( stop ).toInstant().atZone( ZoneId.of( "Asia/Tokyo" ) ) 
		    ) 
        	
        );
        
	}
}