Matlamat: Cari 本地时间
和UTC时间偏移
dan kemudian bina URL dalam format berikut.
Contoh URL: /Actions/Sleep?duration=2002-10-10T12:00:00−05:00
Format ini berdasarkan cadangan W3C. Dokumentasi mengatakan:
Sebagai contoh, 2002-10-10T12:00:00−05:00 (tengah hari pada 10 Oktober 2002, Waktu Siang Tengah dan Waktu Standard Timur) Sama dengan 2002-10-10T17:00:00Z, iaitu lima jam lewat daripada 2002-10-10T12:00:00Z.
Jadi dari pemahaman saya, saya perlu mengira perbezaan melalui fungsi new Date()
查找本地时间,然后使用 getTimezoneOffset()
dan kemudian tambahkannya pada hujung rentetan.
Gunakan format
untuk mendapatkan waktu tempatan
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); // 2013-07-02T09:00:00
Dapatkan offset masa UTC
var offset = local.getTimezoneOffset() / 60; // 7
Bina URL (bahagian masa sahaja)
var duration = local + "-" + offset + ":00"; // 2013-07-02T09:00:00-7:00
Keluaran di atas bermakna waktu tempatan saya ialah 9 pagi pada 2 Julai 2013, iaitu 7 jam berbeza daripada UTC (UTC adalah 7 jam lebih awal daripada waktu tempatan)
Setakat ini nampaknya berkesan, tetapi bagaimana jika getTimezoneOffset()
mengembalikan nilai negatif (mis. -120)?
Saya tertanya-tanya bagaimana rupa format dalam kes ini kerana saya tidak dapat memahaminya daripada dokumentasi W3C.
getTimezoneOffset()
Mengembalikan tanda bertentangan dalam format yang diperlukan oleh spesifikasi yang anda rujuk.Format ini juga dikenali sebagai ISO8601, atau lebih tepat lagi RFC3339.
Dalam format ini, UTC diwakili oleh
Z
, manakala semua format lain diwakili oleh offset daripada UTC. Maksudnya sama seperti dalam JavaScript, tetapi susunan penolakan diterbalikkan, jadi hasilnya mempunyai tanda yang bertentangan.Selain itu, kaedah asli
Date
对象上没有名为format
, jadi fungsi dalam #1 akan gagal melainkan anda menggunakan perpustakaan untuk tujuan ini. Sila rujuk dokumen ini.Jika anda sedang mencari perpustakaan yang boleh berfungsi dengan format ini secara langsung, saya syorkan mencuba moment.js. Sebenarnya, ini ialah format lalai, jadi anda boleh melakukan perkara berikut:
Ini adalah penyelesaian silang penyemak imbas yang diuji dengan baik dan disertakan dengan banyak ciri berguna yang lain.
Ini ialah fungsi pembantu mudah yang memformat tarikh JS untuk anda.