Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8356026

LocalDateTime conversion to ZonedDateTime fails for America/Sao_Paulo zone

XMLWordPrintable

    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz 1.99 GHz
      Windows 11 Pro 24H2 OS build 26100.3775
      java version "24.0.1" 2025-04-15
      Java(TM) SE Runtime Environment (build 24.0.1+9-30)
      Java HotSpot(TM) 64-Bit Server VM (build 24.0.1+9-30, mixed mode, sharing)

      A DESCRIPTION OF THE PROBLEM :
      For dates below 1914-Jan-02, the conversion of LocalDateTime to ZonedDateTime for America/Sao_Paulo zone produces an incorrect value.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      java.time.LocalDate.of(1900, 1, 1).atStartOfDay().atZone(java.time.ZoneId.of("America/Sao_Paulo"))

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      1900-01-01T00:00-03:00[America/Sao_Paulo]
      ACTUAL -
      1900-01-01T00:00-03:06:28[America/Sao_Paulo]

      ---------- BEGIN SOURCE ----------
      1)- java.time.LocalDate.of(1914, 1, 2).atStartOfDay().atZone(java.time.ZoneId.of("America/Sao_Paulo"))
      ==> correct (and dates above)
      2)- java.time.LocalDate.of(1914, 1, 1).atStartOfDay().atZone(java.time.ZoneId.of("America/Sao_Paulo"))
      ==> incorrect (and dates below)
      ---------- END SOURCE ----------

            naoto Naoto Sato
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: