Hi all, G ketemu problem berkaitan dengan DateTime (org.joda.time.DateTime). Kasusnya ketika g pengen buat tanggal 23-03-1942. G coba dengan new DateTime(1942, 3, 23, 0, 0, 0, 0) tapi kena exception:
java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition: 1942-03-22T16:30:00.000 at org.joda.time.chrono.ZonedChronology.localToUTC(ZonedChronology.java:143) at org.joda.time.chrono.ZonedChronology.getDateTimeMillis(ZonedChronology.java:119) at org.joda.time.chrono.AssembledChronology.getDateTimeMillis(AssembledChronology.java:133) at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:254) at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:195) at org.joda.time.DateTime.<init>(DateTime.java:227) ... Setelah cari2 di google ternyata ini masalah related to daylight saving (or something like that) yang menyebabkan pada tanggal 23-03-1942 itu tidak ada jam 00:00:00. Jadi hari itu dimulai dengan jam 01:30:00 (instead of 00:00:00). Masalah timbul karena sekarang g punya data di database (oracle) yang bisa menyimpan tanggal "23-03-1942 00:00:00" tapi di sisi java tidak memperbolehkan tgl dan jam tersebut. Akhirnya ketika datanya di-load dari database waktu jadi instance java.sql.Date tanggalnya jadi 22-03-1942 (berkurang 1 hari). Ada yang pernah ngalamin dan bisa kasih masukan solusinya? Thanks in advance. Regards, Jecki