You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/06/06 15:43:57 UTC

svn commit: r1346890 - in /jena/trunk/jena-core: ReleaseNotes.txt src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java

Author: andy
Date: Wed Jun  6 13:43:57 2012
New Revision: 1346890

URL: http://svn.apache.org/viewvc?rev=1346890&view=rev
Log:
JENA-247 (XSD datetiem conversion around the DST change time)

Modified:
    jena/trunk/jena-core/ReleaseNotes.txt
    jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java

Modified: jena/trunk/jena-core/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/ReleaseNotes.txt?rev=1346890&r1=1346889&r2=1346890&view=diff
==============================================================================
--- jena/trunk/jena-core/ReleaseNotes.txt (original)
+++ jena/trunk/jena-core/ReleaseNotes.txt Wed Jun  6 13:43:57 2012
@@ -3,6 +3,7 @@ Release Notes 
 
 ==== Jena 2.7.1
 
++ Fix timezone calculation during transition to/from DST.  (JENA-247)
 + Rename c.h.h.j.graph.Query as c.h.h.j.graph.GraphQuery (not related to SPARQL)  
 + remove out-of-date resultSet vocabulary class
 + icu4j dependency removed (JENA-177)

Modified: jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java?rev=1346890&r1=1346889&r2=1346890&view=diff
==============================================================================
--- jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java (original)
+++ jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDateTime.java Wed Jun  6 13:43:57 2012
@@ -130,13 +130,10 @@ public class XSDDateTime extends Abstrac
      */
     private static int[] convertCalendar(Calendar date) {
         int[] data = new int[TOTAL_SIZE];
-        int offset = date.get(Calendar.ZONE_OFFSET) + date.get(Calendar.DST_OFFSET);
-                                        //  Thanks to Greg Shueler for pointing out need for DST offset
-        Calendar cal = date;
-        if (offset != 0) {
-            cal = (Calendar)date.clone();
-            cal.add(Calendar.MILLISECOND, -offset);
-        }
+        
+        Calendar cal = (Calendar)date.clone();
+        cal.setTimeZone(TimeZone.getTimeZone("GMT"));   // Rebase to GMT.
+        
         data[AbstractDateTime.CY] = cal.get(Calendar.YEAR);
         data[AbstractDateTime.M] = cal.get(Calendar.MONTH) + 1;
         data[AbstractDateTime.D] = cal.get(Calendar.DAY_OF_MONTH);