You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2020/12/30 13:18:59 UTC

svn commit: r1884938 - /pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java

Author: msahyoun
Date: Wed Dec 30 13:18:58 2020
New Revision: 1884938

URL: http://svn.apache.org/viewvc?rev=1884938&view=rev
Log:
PDFBOX-5061: replace jaxb parsing with time zone string

Modified:
    pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java

Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java?rev=1884938&r1=1884937&r2=1884938&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java (original)
+++ pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java Wed Dec 30 13:18:58 2020
@@ -24,6 +24,8 @@ package org.apache.xmpbox;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
@@ -373,11 +375,11 @@ public final class DateConverter
             {
                 toParse = dateString.substring(0, tzIndex) + ":00";
             }
-            Calendar cal = javax.xml.bind.DatatypeConverter.parseDateTime(toParse);
 
-            TimeZone z = TimeZone.getTimeZone(timeZoneString);
-            cal.setTimeZone(z);            
-            return cal;
+            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX][zzz]");
+            ZonedDateTime zonedDateTime = ZonedDateTime.parse(toParse + timeZoneString, dateTimeFormatter);
+
+            return GregorianCalendar.from(zonedDateTime);
         }
         else
         {