You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/06/29 16:59:52 UTC

svn commit: r1879341 - in /pdfbox/branches/2.0/xmpbox/src: main/java/org/apache/xmpbox/DateConverter.java test/java/org/apache/xmpbox/DateConverterTest.java

Author: tilman
Date: Mon Jun 29 16:59:51 2020
New Revision: 1879341

URL: http://svn.apache.org/viewvc?rev=1879341&view=rev
Log:
PDFBOX-4902: fix bug with half hour timezones, thanks Juho Tikkala; add test

Modified:
    pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
    pdfbox/branches/2.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java

Modified: pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java?rev=1879341&r1=1879340&r2=1879341&view=diff
==============================================================================
--- pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java (original)
+++ pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java Mon Jun 29 16:59:51 2020
@@ -319,10 +319,9 @@ public final class DateConverter
             retval.append("+");
         }
         timeZone = Math.abs(timeZone);
-        // milliseconds/1000 = seconds = seconds / 60 = minutes = minutes/60 =
-        // hours
+        // milliseconds/1000 = seconds; seconds / 60 = minutes; minutes/60 = hours
         int hours = timeZone / 1000 / 60 / 60;
-        int minutes = (timeZone - (hours * 1000 * 60 * 60)) / 1000 / 1000;
+        int minutes = (timeZone - (hours * 1000 * 60 * 60)) / 1000 / 60;
         if (hours < 10)
         {
             retval.append("0");

Modified: pdfbox/branches/2.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java?rev=1879341&r1=1879340&r2=1879341&view=diff
==============================================================================
--- pdfbox/branches/2.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java (original)
+++ pdfbox/branches/2.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java Mon Jun 29 16:59:51 2020
@@ -79,6 +79,13 @@ public class DateConverterTest
         jaxbCal = javax.xml.bind.DatatypeConverter.parseDateTime("2015-02-02T16:37:19.192+01:00");
         convDate = DateConverter.toCalendar("2015-02-02T16:37:19.192Europe/Berlin");
         assertEquals(dateFormat.format(jaxbCal.getTime()), dateFormat.format(convDate.getTime()));
+
+        // PDFBOX-4902: half-hour TZ
+        String time = "2015-02-02T16:37:19.192+05:30";
+        jaxbCal = javax.xml.bind.DatatypeConverter.parseDateTime(time);
+        assertEquals(time, DateConverter.toISO8601(jaxbCal, true));
+        convDate = DateConverter.toCalendar(time);
+        assertEquals(dateFormat.format(jaxbCal.getTime()), dateFormat.format(convDate.getTime()));
     }
     
     /**