Set time-zone auto indention during JSON parse.
diff --git a/pom.xml b/pom.xml
index 16d8225..9ce6341 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,6 +41,10 @@
         <url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-jcr-contentparser.git</url>
     </scm>
 
+    <properties>
+        <sling.java.version>8</sling.java.version>
+    </properties>
+
     <build>
         <plugins>
             <plugin>
diff --git a/src/main/java/org/apache/sling/jcr/contentparser/impl/ParserHelper.java b/src/main/java/org/apache/sling/jcr/contentparser/impl/ParserHelper.java
index 0ac3022..82d16d9 100644
--- a/src/main/java/org/apache/sling/jcr/contentparser/impl/ParserHelper.java
+++ b/src/main/java/org/apache/sling/jcr/contentparser/impl/ParserHelper.java
@@ -18,22 +18,24 @@
  */
 package org.apache.sling.jcr.contentparser.impl;
 
+import org.apache.commons.lang3.StringUtils;
+import org.apache.jackrabbit.util.ISO8601;
+import org.apache.sling.jcr.contentparser.ParseException;
+import org.apache.sling.jcr.contentparser.ParserOptions;
+
 import java.lang.reflect.Array;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
-
+import java.util.TimeZone;
 import javax.json.JsonObject;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.jackrabbit.util.ISO8601;
-import org.apache.sling.jcr.contentparser.ParseException;
-import org.apache.sling.jcr.contentparser.ParserOptions;
-
 /**
  * Helper parsing logic based on parser options.
  */
@@ -45,12 +47,12 @@
     static final Locale DATE_FORMAT_LOCALE = Locale.US;
 
     private final ParserOptions options;
-    private final DateFormat calendarFormat;
+    private final DateTimeFormatter calendarFormat;
 
     public ParserHelper(ParserOptions options) {
         this.options = options;
         if (options.isDetectCalendarValues()) {
-            this.calendarFormat = new SimpleDateFormat(ECMA_DATE_FORMAT, DATE_FORMAT_LOCALE);
+            this.calendarFormat = DateTimeFormatter.ofPattern(ECMA_DATE_FORMAT, DATE_FORMAT_LOCALE);
         }
         else {
             this.calendarFormat = null;
@@ -76,12 +78,12 @@
             // 2nd try: parse with ECMA date format which is used by Sling GET servlet
             calendar = Calendar.getInstance();
             try {
-                synchronized (calendarFormat) {
-                    Date date = calendarFormat.parse(value);
-                    calendar.setTime(date);
-                }
+                final OffsetDateTime offsetDateTime = OffsetDateTime.parse(value, calendarFormat);
+                final Instant instant = offsetDateTime.toInstant();
+                calendar.setTime(Date.from(instant));
+                calendar.setTimeZone(TimeZone.getTimeZone(offsetDateTime.getOffset()));
                 return calendar;
-            } catch (java.text.ParseException ex) {
+            } catch (DateTimeParseException ex) {
                 // ignore
             }
         }
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
index 96c8357..c511938 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
@@ -119,8 +119,6 @@
         Calendar calendar = (Calendar) props.get("dateISO8601String");
         assertNotNull(calendar);
 
-        calendar.setTimeZone(TimeZone.getTimeZone("GMT+2"));
-
         assertEquals(2014, calendar.get(Calendar.YEAR));
         assertEquals(4, calendar.get(Calendar.MONTH) + 1);
         assertEquals(22, calendar.get(Calendar.DAY_OF_MONTH));
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/ParserHelperTest.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/ParserHelperTest.java
index f9e72da..6b7c21d 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/ParserHelperTest.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/ParserHelperTest.java
@@ -82,8 +82,6 @@
         Calendar value = underTest.tryParseCalendar("Tue Apr 22 2014 15:11:24 GMT+0200");
         assertNotNull(value);
 
-        value.setTimeZone(TimeZone.getTimeZone("GMT+2"));
-
         assertEquals(2014, value.get(Calendar.YEAR));
         assertEquals(4, value.get(Calendar.MONTH) + 1);
         assertEquals(22, value.get(Calendar.DAY_OF_MONTH));