Hampir setiap metode to-ISO di web menjatuhkan informasi zona waktu dengan menerapkan konversi ke waktu ulu "Z" (UTC) sebelum mengeluarkan string. .ToISOString () asli browser juga menjatuhkan informasi zona waktu.
Ini membuang informasi berharga, sebagai server, atau penerima, selalu dapat mengonversi tanggal ISO lengkap ke waktu Zulu atau zona waktu mana pun yang diperlukan, sambil tetap mendapatkan informasi zona waktu pengirim.
Solusi terbaik yang pernah saya temui adalah menggunakan perpustakaan javascript Moment.js dan menggunakan kode berikut:
Untuk mendapatkan waktu ISO saat ini dengan informasi zona waktu dan milidetik
now = moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T20:11:11.234+0100"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T19:11:11.234+0000"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"
// "2013-03-08T19:11:11Z" <- better use the native .toISOString()
Untuk mendapatkan waktu ISO dari objek Tanggal JavaScript asli dengan informasi zona waktu tetapi tanpa milidetik
var current_time = Date.now();
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")
Ini dapat digabungkan dengan Date.js untuk mendapatkan fungsi seperti Date.today () yang hasilnya kemudian dapat diteruskan ke saat.
String tanggal yang diformat seperti ini adalah kompilasi JSON, dan cocok untuk disimpan ke dalam basis data. Python dan C # sepertinya menyukainya.