Saya perlu mendapatkan tanggal 5 bulan yang lalu dari saat ini dengan hari pertama bulan itu, saya menggunakan kode ini untuk melakukannya:
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)
Biasanya berfungsi dengan baik, mulai dari 2018-08-10T15:46:53+02:00
dibutuhkan 2018-03-01T00:00:00+01:00
Tetapi jika saya mengubah zona waktu ke GMT+7, melanjutkan aplikasi dan menjalankan kode ini, ini memberi saya hasil yang aneh beberapa hari sebelum diperlukan: 2018-02-28T20:00:00+01:00
.
Jika saya menghapus aplikasi dari memori dan memulainya lagi setelah mengubah zona waktu, semuanya berfungsi dengan baik.