Мне нужно получить дату 5 месяцев назад от текущей с первым днем месяца, я использую для этого этот код:
val date = Calendar.getInstance()
date.add(Calendar.MONTH, -5)
date.set(Calendar.DAY_OF_MONTH, 1)
date.set(Calendar.HOUR_OF_DAY, 0)
date.set(Calendar.MINUTE, 0)
date.set(Calendar.SECOND, 0)
Он нормально работает, делая из 2018-08-10T15:46:53+02:00
необходимых 2018-03-01T00:00:00+01:00
Но если я изменю часовой пояс на GMT+7, возобновлю работу приложения и запущу этот код, это даст мне странный результат за несколько дней до того, как это необходимо: 2018-02-28T20:00:00+01:00
.
Если я удаляю приложение из памяти и запускаю его снова после смены часового пояса, все работает нормально.