首頁 >web前端 >js教程 >如何在 JavaScript 中處理 ASP.NET MVC JsonResult 的非標準日期格式?

如何在 JavaScript 中處理 ASP.NET MVC JsonResult 的非標準日期格式?

DDD
DDD原創
2024-12-20 18:22:12298瀏覽

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

ASP.NET MVC JsonResult 日期格式

在ASP.NET MVC 中傳回JsonResult 時,您可能會遇到日期為屬性以“/Date(1239018869048)/”等格式序列化。 JavaScript 無法讀取此格式,並且在應用程式中處理日期時可能會導致問題。

解決方案1:在JavaScript 中手動解析日期字串

一種方法是解析使用以下程式碼在JavaScript 中手動輸入日期字串:

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

此程式碼刪除「Date(」和「)」字元

解決方案2:將 JSON.parse() 與 Reviver 函數結合使用

另一個選擇是使用 JSON。 parse() 函數和 reviver 函數將日期字串轉換為 Date 物件。例如:

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;
});

在此程式碼中,reviver 函數檢查該值是否為字串並與「/Date((d*))/」模式相符。如果是,則使用 Date 建構函式將該值轉換為 Date 物件。否則,傳回原始值。

其他注意事項

需要注意的是,JSON 規範並沒有定義標準日期格式。 ASP.NET MVC 使用的「/Date(ticks)/」格式是一種約定,允許 JSON 表示 Date 物件。

在 JavaScript 中處理日期時,應考慮以下事項:

  • Date.parse() 函數也可以用來解析日期字串,但它有一些限制。
  • 您可能需要指定正確的時間建立 Date 物件時確保正確處理日期。
  • ES6 引入了新的 Date.toISOString() 方法,該方法返回 ISO 8601 格式的日期,這是許多程式語言識別的標準格式和應用程式。

以上是如何在 JavaScript 中處理 ASP.NET MVC JsonResult 的非標準日期格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn