Konversi Tanggal Jawa ke String UTC
Metode toString()
java.util.Date menampilkan tanggal di zona waktu lokal.
Ada beberapa skenario umum di mana kita ingin data dicetak dalam UTC, termasuk log, ekspor data dan komunikasi dengan program eksternal.
- Apa cara terbaik untuk membuat representasi String dari
java.util.Date
dalam UTC? - Bagaimana cara mengganti format
toString()
j.u.Date, yang tidak dapat diurutkan (terima kasih, @JonSkeet!) dengan format yang lebih baik?
Adendum
Saya pikir cara standar untuk mencetak tanggal dalam format kustom dan zona waktu cukup membosankan:
final Date date = new Date();
final String ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";
final SimpleDateFormat sdf = new SimpleDateFormat(ISO_FORMAT);
final TimeZone utc = TimeZone.getTimeZone("UTC");
sdf.setTimeZone(utc);
System.out.println(sdf.format(date));
Saya sedang mencari satu baris seperti:
System.out.println(prettyPrint(date, "yyyy-MM-dd'T'HH:mm:ss.SSS zzz", "UTC"));
28
3
Mengikuti komentar-komentar yang bermanfaat, saya telah sepenuhnya membangun kembali formatter tanggal. Penggunaan seharusnya:
Jika Anda menganggap kode ini berguna, saya dapat mempublikasikan sumber dan JAR di github.
Penggunaan
Kode
(Kode ini juga merupakan subjek dari pertanyaan pada Code Review stackexchange)
Jika XStream adalah sebuah dependensi, cobalah:
Mengapa tidak menggunakan java.text.SimpleDateFormat saja?
Atau lihat: http://www.tutorialspoint.com/java/java_date_time.htm