Menghuraikan Tarikh ISO 8601 dengan SimpleDateFormat dan 'Z' Literal
Masalah:
Mencuba untuk menghuraikan rentetan tarikh ISO 8601 yang mengandungi literal zon waktu "Z" menggunakan Kelas SimpleDateFormat dengan pelbagai corak gagal mengembalikan masa UTC yang betul. Khususnya, tarikh "2010-04-05T17:16:00Z" dihuraikan sebagai "Isn Apr 05 17:16:00 EDT 2010", walaupun "Z" literal menunjukkan UTC.
Penyelesaian :
Kelas SimpleDateFormat tidak dapat mengendalikan cap masa dalam format ISO 8601 secara lalai. Walau bagaimanapun, dalam Java 7, corak baharu telah diperkenalkan untuk mengendalikan situasi ini secara khusus:
yyyy-MM-dd'T'HH:mm:ssX
Corak ini menjangkakan akhiran zon waktu "X", yang boleh mewakili literal "Z" untuk menunjukkan UTC. Apabila menggunakan corak ini, SimpleDateFormat menghuraikan tarikh dengan betul kepada UTC yang setara.
Penghurai Tarikh Alternatif:
Jika SimpleDateFormat tidak memenuhi keperluan anda, anda juga boleh mempertimbangkan untuk menggunakan perpustakaan penghuraian tarikh alternatif seperti Joda-Time atau ThreeTen-Backport, yang mempunyai sokongan yang lebih baik untuk tarikh ISO 8601 dan literal zon waktu.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Tarikh ISO 8601 dengan \'Z\' Literal Menggunakan SimpleDateFormat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!