Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengendalikan Format Tarikh Bukan Standard ASP.NET MVC JsonResult dalam JavaScript?

Bagaimana untuk Mengendalikan Format Tarikh Bukan Standard ASP.NET MVC JsonResult dalam JavaScript?

DDD
DDDasal
2024-12-20 18:22:12269semak imbas

How to Handle ASP.NET MVC JsonResult's Non-Standard Date Format in JavaScript?

Format Tarikh JsonResult ASP.NET MVC

Apabila mengembalikan JsonResult dalam ASP.NET MVC, anda mungkin menghadapi isu di mana sifat tarikh berada bersiri dalam format seperti "/Date(1239018869048)/". Format ini tidak boleh dibaca oleh JavaScript dan boleh menyebabkan masalah semasa mengendalikan tarikh dalam aplikasi anda.

Penyelesaian 1: Menghuraikan Rentetan Tarikh Secara Manual dalam JavaScript

Satu pendekatan ialah menghuraikan rentetan tarikh secara manual dalam JavaScript menggunakan kod berikut:

value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));

Kod ini mengalih keluar "Tarikh(" dan ")" aksara daripada rentetan dan menukarnya kepada objek Tarikh.

Penyelesaian 2: Gunakan JSON.parse() dengan Fungsi Reviver

Pilihan lain ialah menggunakan JSON Fungsi .parse() dengan fungsi reviver yang menukar rentetan tarikh kepada objek Tarikh. Contohnya:

var parsed = JSON.parse(data, function(key, value) {
  if (typeof value === 'string') {
    var d = /\/Date\((\d*)\)\//.exec(value);
    return (d) ? new Date(+d[1]) : value;
  }
  return value;
});

Dalam kod ini, fungsi reviver menyemak sama ada nilainya ialah rentetan dan sepadan dengan corak "/Date((d*))/". Jika ia berlaku, nilai ditukar kepada objek Tarikh menggunakan pembina Tarikh. Jika tidak, nilai asal dikembalikan.

Pertimbangan Tambahan

Adalah penting untuk ambil perhatian bahawa spesifikasi JSON tidak mentakrifkan format tarikh standard. Format "/Date(ticks)/" yang digunakan oleh ASP.NET MVC ialah konvensyen yang membenarkan JSON mewakili objek Date.

Apabila mengendalikan tarikh dalam JavaScript, anda harus mempertimbangkan perkara berikut:

  • Fungsi Date.parse() juga boleh digunakan untuk menghuraikan rentetan tarikh, tetapi ia mempunyai beberapa had.
  • Anda mungkin perlu untuk menentukan zon waktu yang betul semasa mencipta objek Date untuk memastikan tarikh dikendalikan dengan betul.
  • ES6 memperkenalkan kaedah Date.toISOString() baharu yang mengembalikan tarikh dalam format ISO 8601, iaitu format standard diiktiraf oleh banyak bahasa pengaturcaraan dan aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Format Tarikh Bukan Standard ASP.NET MVC JsonResult dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn