diff --git a/android/src/main/java/com/reactcommunity/rndatetimepicker/RNDate.java b/android/src/main/java/com/reactcommunity/rndatetimepicker/RNDate.java index 3c515e2d..7cbdac72 100644 --- a/android/src/main/java/com/reactcommunity/rndatetimepicker/RNDate.java +++ b/android/src/main/java/com/reactcommunity/rndatetimepicker/RNDate.java @@ -9,15 +9,17 @@ public class RNDate { public RNDate(Bundle args) { now = Calendar.getInstance(); - if (args != null && args.containsKey(RNConstants.ARG_TZOFFSET_MINS)) { - now.setTimeZone(TimeZone.getTimeZone("GMT")); - Integer timeZoneOffsetInMinutes = args.getInt(RNConstants.ARG_TZOFFSET_MINS); - now.add(Calendar.MILLISECOND, timeZoneOffsetInMinutes * 60000); - } if (args != null && args.containsKey(RNConstants.ARG_VALUE)) { set(args.getLong(RNConstants.ARG_VALUE)); } + + if (args != null && args.containsKey(RNConstants.ARG_TZOFFSET_MINS)) { + now.setTimeZone(TimeZone.getTimeZone("GMT")); + Long timeZoneOffsetInMinutesFallback = args.getLong(RNConstants.ARG_TZOFFSET_MINS); + Integer timeZoneOffsetInMinutes = args.getInt(RNConstants.ARG_TZOFFSET_MINS, timeZoneOffsetInMinutesFallback.intValue()); + now.add(Calendar.MILLISECOND, timeZoneOffsetInMinutes * 60000); + } } public void set(long value) { diff --git a/src/datetimepicker.android.js b/src/datetimepicker.android.js index ea15da7e..400a281e 100644 --- a/src/datetimepicker.android.js +++ b/src/datetimepicker.android.js @@ -66,10 +66,7 @@ function getPicker({ function timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes) { let localDate = date; - if ( - typeof timeZoneOffsetInMinutes !== 'undefined' && - timeZoneOffsetInMinutes >= 0 - ) { + if (typeof timeZoneOffsetInMinutes === 'number') { const offset = localDate.getTimezoneOffset() * MIN_MS + timeZoneOffsetInMinutes * MIN_MS; localDate = new Date(date.getTime() - offset);