Skip to content

Commit 2577e71

Browse files
authored
fix(android): material date picker off by one day (#1031)
1 parent 8b1e62e commit 2577e71

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

android/src/main/java/com/reactcommunity/rndatetimepicker/RNMaterialDatePicker.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,14 @@ class RNMaterialDatePicker(
224224
)
225225
)
226226

227-
newCalendar.timeInMillis = selection
228-
227+
// Material DatePicker returns timestamp in UTC at midnight for the selected date.
228+
// Extract year, month, day from UTC, then set them in the target timezone
229+
val utcCalendar = Calendar.getInstance(java.util.TimeZone.getTimeZone("UTC"))
230+
utcCalendar.timeInMillis = selection
231+
232+
newCalendar[Calendar.YEAR] = utcCalendar[Calendar.YEAR]
233+
newCalendar[Calendar.MONTH] = utcCalendar[Calendar.MONTH]
234+
newCalendar[Calendar.DAY_OF_MONTH] = utcCalendar[Calendar.DAY_OF_MONTH]
229235
newCalendar[Calendar.HOUR_OF_DAY] = initialDate.hour()
230236
newCalendar[Calendar.MINUTE] = initialDate.minute()
231237
newCalendar[Calendar.SECOND] = 0

0 commit comments

Comments
 (0)