Java8 API를 이용하면 원하시는 결과를 얻을 수 있네요.
https://stackoverflow.com/questions/9963147/get-the-number-of-weeks-between-two-dates
Instant start = OffsetDateTime.of( 1 , 1 , 1 , 0 , 0 , 0 , 0 , ZoneOffset.UTC ).toInstant();
Instant stop = OffsetDateTime.now().toInstant();
ZoneId z = ZoneId.systemDefault();
// 특정 timezone을 사용할 거면 ZoneId z = ZoneId.of( "America/Montreal" ) ;
//ZonedDateTime 을 가져온다.
ZonedDateTime startZdt = start.atZone( z ) ;
ZonedDateTime stopZdt = stop.atZone( z ) ;
// ChronoUnit.WEEKS 사용
long weeks = ChronoUnit.WEEKS.between( startZdt , stopZdt );
Android 8.0 이하일 경우는 Java8을 desugaring 을 통해서 추가해서 사용하시면 됩니다.
https://developer.android.com/studio/write/java8-support