Member-only story

Bermain dengan Parse dan Format DateTime di Java 8

Ahmad Arif Faizin
3 min readJan 14, 2022

--

Haloo.. mau share dikit aja nih.. setelah bermain-main dengan DateTime di Android, mungkin untuk Anda yang sudah lama develop aplikasi Android, Anda mungkin tak asing dengan yang namanya SimpleDateFormat. Kira-kira penggunaannya seperti ini

//parse String to Date
val
currentDf = SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'", Locale.UK)
currentDf.timeZone = TimeZone.getTimeZone("UTC")
val currentDate = currentDf.parse(currentDateString) as Date
//format Date to String
val targetDf = SimpleDateFormat( "dd MMM yyyy | HH:mm", Locale.getDefault())
targetDf.timeZone = TimeZone.getTimeZone(targetTimeZone)
val targetDateString = targetDf.format(currentDate)

Setelah ulik-ulik lebih dalam lagi. Ternyata SimpleDateFormat ini sudah outdate alias tidak disarankan lagi. Hal ini karena ia tidak thread-safe ketika melakukan parsing atau formating. Selain itu dari sisi desain cantik, karena ia hanya mulai dari tahun 1900 dan untuk mendefinisikan menggunakan Calendar di mana hari dimulai 0 sedangkan untuk bulan dari 1. Aneh sekali, bukan?

Lalu, apa penggantinya? Checkitout…

Awalnya kita bisa menggunakan Joda-Time untuk mengatasi hal ini. Ia jauh lebih mudah digunakan daripada SimpleDateFormat dengan berbagai fitur tambahan seperti easy calculation, up-to-date timezone, support…

--

--

No responses yet