fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.time.* ;
  8. import java.time.format.* ;
  9. import java.time.temporal.* ;
  10. import java.time.chrono.* ;
  11. import java.time.zone.* ;
  12.  
  13. /* Name of the class has to be "Main" only if the class is public. */
  14. class Ideone
  15. {
  16. public static void main (String[] args) throws java.lang.Exception
  17. {
  18.  
  19.  
  20. ZoneId z = ZoneId.of( "America/Sao_Paulo" ) ;
  21. ZoneRules rules = z.getRules() ;
  22. List<ZoneOffsetTransition> transitions = rules.getTransitions() ;
  23.  
  24. transitions.stream().forEach( System.out::println ) ;
  25.  
  26. Instant instant = Instant.now();
  27. ZoneOffsetTransition t = rules.nextTransition( instant );
  28.  
  29. // Time until next transition.
  30. Duration d = Duration.between( instant , t.getInstant() ) ;
  31.  
  32. System.out.println( "t = " + t );
  33. System.out.println( "d = " + d );
  34. }
  35. }
Success #stdin #stdout 0.18s 38424KB
stdin
Standard input is empty
stdout
Transition[Gap at 1914-01-01T00:00-03:06:28 to -03:00]
Transition[Gap at 1931-10-03T11:00-03:00 to -02:00]
Transition[Overlap at 1932-04-01T00:00-02:00 to -03:00]
Transition[Gap at 1932-10-03T00:00-03:00 to -02:00]
Transition[Overlap at 1933-04-01T00:00-02:00 to -03:00]
Transition[Gap at 1949-12-01T00:00-03:00 to -02:00]
Transition[Overlap at 1950-04-16T01:00-02:00 to -03:00]
Transition[Gap at 1950-12-01T00:00-03:00 to -02:00]
Transition[Overlap at 1951-04-01T00:00-02:00 to -03:00]
Transition[Gap at 1951-12-01T00:00-03:00 to -02:00]
Transition[Overlap at 1952-04-01T00:00-02:00 to -03:00]
Transition[Gap at 1952-12-01T00:00-03:00 to -02:00]
Transition[Overlap at 1953-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1963-10-23T00:00-03:00 to -02:00]
Transition[Overlap at 1964-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1965-01-31T00:00-03:00 to -02:00]
Transition[Overlap at 1965-03-31T00:00-02:00 to -03:00]
Transition[Gap at 1965-12-01T00:00-03:00 to -02:00]
Transition[Overlap at 1966-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1966-11-01T00:00-03:00 to -02:00]
Transition[Overlap at 1967-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1967-11-01T00:00-03:00 to -02:00]
Transition[Overlap at 1968-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1985-11-02T00:00-03:00 to -02:00]
Transition[Overlap at 1986-03-15T00:00-02:00 to -03:00]
Transition[Gap at 1986-10-25T00:00-03:00 to -02:00]
Transition[Overlap at 1987-02-14T00:00-02:00 to -03:00]
Transition[Gap at 1987-10-25T00:00-03:00 to -02:00]
Transition[Overlap at 1988-02-07T00:00-02:00 to -03:00]
Transition[Gap at 1988-10-16T00:00-03:00 to -02:00]
Transition[Overlap at 1989-01-29T00:00-02:00 to -03:00]
Transition[Gap at 1989-10-15T00:00-03:00 to -02:00]
Transition[Overlap at 1990-02-11T00:00-02:00 to -03:00]
Transition[Gap at 1990-10-21T00:00-03:00 to -02:00]
Transition[Overlap at 1991-02-17T00:00-02:00 to -03:00]
Transition[Gap at 1991-10-20T00:00-03:00 to -02:00]
Transition[Overlap at 1992-02-09T00:00-02:00 to -03:00]
Transition[Gap at 1992-10-25T00:00-03:00 to -02:00]
Transition[Overlap at 1993-01-31T00:00-02:00 to -03:00]
Transition[Gap at 1993-10-17T00:00-03:00 to -02:00]
Transition[Overlap at 1994-02-20T00:00-02:00 to -03:00]
Transition[Gap at 1994-10-16T00:00-03:00 to -02:00]
Transition[Overlap at 1995-02-19T00:00-02:00 to -03:00]
Transition[Gap at 1995-10-15T00:00-03:00 to -02:00]
Transition[Overlap at 1996-02-11T00:00-02:00 to -03:00]
Transition[Gap at 1996-10-06T00:00-03:00 to -02:00]
Transition[Overlap at 1997-02-16T00:00-02:00 to -03:00]
Transition[Gap at 1997-10-06T00:00-03:00 to -02:00]
Transition[Overlap at 1998-03-01T00:00-02:00 to -03:00]
Transition[Gap at 1998-10-11T00:00-03:00 to -02:00]
Transition[Overlap at 1999-02-21T00:00-02:00 to -03:00]
Transition[Gap at 1999-10-03T00:00-03:00 to -02:00]
Transition[Overlap at 2000-02-27T00:00-02:00 to -03:00]
Transition[Gap at 2000-10-08T00:00-03:00 to -02:00]
Transition[Overlap at 2001-02-18T00:00-02:00 to -03:00]
Transition[Gap at 2001-10-14T00:00-03:00 to -02:00]
Transition[Overlap at 2002-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2002-11-03T00:00-03:00 to -02:00]
Transition[Overlap at 2003-02-16T00:00-02:00 to -03:00]
Transition[Gap at 2003-10-19T00:00-03:00 to -02:00]
Transition[Overlap at 2004-02-15T00:00-02:00 to -03:00]
Transition[Gap at 2004-11-02T00:00-03:00 to -02:00]
Transition[Overlap at 2005-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2005-10-16T00:00-03:00 to -02:00]
Transition[Overlap at 2006-02-19T00:00-02:00 to -03:00]
Transition[Gap at 2006-11-05T00:00-03:00 to -02:00]
Transition[Overlap at 2007-02-25T00:00-02:00 to -03:00]
Transition[Gap at 2007-10-14T00:00-03:00 to -02:00]
Transition[Overlap at 2008-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2008-10-19T00:00-03:00 to -02:00]
Transition[Overlap at 2009-02-15T00:00-02:00 to -03:00]
Transition[Gap at 2009-10-18T00:00-03:00 to -02:00]
Transition[Overlap at 2010-02-21T00:00-02:00 to -03:00]
Transition[Gap at 2010-10-17T00:00-03:00 to -02:00]
Transition[Overlap at 2011-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2011-10-16T00:00-03:00 to -02:00]
Transition[Overlap at 2012-02-26T00:00-02:00 to -03:00]
Transition[Gap at 2012-10-21T00:00-03:00 to -02:00]
Transition[Overlap at 2013-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2013-10-20T00:00-03:00 to -02:00]
Transition[Overlap at 2014-02-16T00:00-02:00 to -03:00]
Transition[Gap at 2014-10-19T00:00-03:00 to -02:00]
Transition[Overlap at 2015-02-22T00:00-02:00 to -03:00]
Transition[Gap at 2015-10-18T00:00-03:00 to -02:00]
Transition[Overlap at 2016-02-21T00:00-02:00 to -03:00]
Transition[Gap at 2016-10-16T00:00-03:00 to -02:00]
Transition[Overlap at 2017-02-19T00:00-02:00 to -03:00]
Transition[Gap at 2017-10-15T00:00-03:00 to -02:00]
Transition[Overlap at 2018-02-18T00:00-02:00 to -03:00]
Transition[Gap at 2018-11-04T00:00-03:00 to -02:00]
Transition[Overlap at 2019-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2019-11-03T00:00-03:00 to -02:00]
Transition[Overlap at 2020-02-16T00:00-02:00 to -03:00]
Transition[Gap at 2020-11-01T00:00-03:00 to -02:00]
Transition[Overlap at 2021-02-21T00:00-02:00 to -03:00]
Transition[Gap at 2021-11-07T00:00-03:00 to -02:00]
Transition[Overlap at 2022-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2022-11-06T00:00-03:00 to -02:00]
Transition[Overlap at 2023-02-26T00:00-02:00 to -03:00]
Transition[Gap at 2023-11-05T00:00-03:00 to -02:00]
Transition[Overlap at 2024-02-18T00:00-02:00 to -03:00]
Transition[Gap at 2024-11-03T00:00-03:00 to -02:00]
Transition[Overlap at 2025-02-16T00:00-02:00 to -03:00]
Transition[Gap at 2025-11-02T00:00-03:00 to -02:00]
Transition[Overlap at 2026-02-22T00:00-02:00 to -03:00]
Transition[Gap at 2026-11-01T00:00-03:00 to -02:00]
Transition[Overlap at 2027-02-21T00:00-02:00 to -03:00]
Transition[Gap at 2027-11-07T00:00-03:00 to -02:00]
Transition[Overlap at 2028-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2028-11-05T00:00-03:00 to -02:00]
Transition[Overlap at 2029-02-18T00:00-02:00 to -03:00]
Transition[Gap at 2029-11-04T00:00-03:00 to -02:00]
Transition[Overlap at 2030-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2030-11-03T00:00-03:00 to -02:00]
Transition[Overlap at 2031-02-16T00:00-02:00 to -03:00]
Transition[Gap at 2031-11-02T00:00-03:00 to -02:00]
Transition[Overlap at 2032-02-15T00:00-02:00 to -03:00]
Transition[Gap at 2032-11-07T00:00-03:00 to -02:00]
Transition[Overlap at 2033-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2033-11-06T00:00-03:00 to -02:00]
Transition[Overlap at 2034-02-26T00:00-02:00 to -03:00]
Transition[Gap at 2034-11-05T00:00-03:00 to -02:00]
Transition[Overlap at 2035-02-18T00:00-02:00 to -03:00]
Transition[Gap at 2035-11-04T00:00-03:00 to -02:00]
Transition[Overlap at 2036-02-17T00:00-02:00 to -03:00]
Transition[Gap at 2036-11-02T00:00-03:00 to -02:00]
Transition[Overlap at 2037-02-22T00:00-02:00 to -03:00]
Transition[Gap at 2037-11-01T00:00-03:00 to -02:00]
Transition[Overlap at 2038-02-21T00:00-02:00 to -03:00]
Transition[Gap at 2038-11-07T00:00-03:00 to -02:00]
Transition[Overlap at 2039-02-20T00:00-02:00 to -03:00]
Transition[Gap at 2039-11-06T00:00-03:00 to -02:00]
t = Transition[Gap at 2020-11-01T00:00-03:00 to -02:00]
d = PT2695H54M20.431322S