Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

249
Views
El análisis de Java 8 DateTimeFormatter falla para las fechas ISO en el futuro lejano

Encontré un problema donde DateTimeFormatter.ISO_DATE_TIME donde la fecha no se puede analizar si el año es más de 9999. Estaba buscando un informe de error o para entender lo que estoy haciendo mal. Además, el análisis de JodaTime funciona para la misma cadena. Versión de Java - 8. Esta prueba falla:

 public void testParseFarInTheFuture() { String str = "10000-04-11T01:24:55.887-03:56"; DateTimeFormatter.ISO_DATE_TIME.parse(str); }

Misma prueba con el año 9999 funciona.

¿Estoy haciendo algo mal o hay un error?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Anteponer +

  • Se espera que los años con más de cuatro dígitos tengan un carácter PLUS ( + ) inicial para los años positivos (AD).
  • Los años negativos (BC) con cualquier conteo de números enteros siempre llevan un SIGNO MENOS ( - ).

Las clases java.time generalmente siguen las reglas establecidas en el estándar ISO 8601. Consulte la página de Wikipedia sobre el manejo de años en ISO 8601 .

Código:

 OffsetDateTime ldt = OffsetDateTime.parse( "+10000-04-11T01:24:55.887-03:56" ) ;

Vea este código ejecutado en vivo en IdeOne.com .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!