簡體   English   中英

如何將日期從oData轉換為JavaScript中的日期?

[英]How can I convert a date from oData to a date in JavaScript?

我有一個基於WCF數據服務的oDate源。 當我瀏覽到它時,會看到類似的日期:

<d:SignedUp m:type="Edm.DateTime">2001-01-01T00:00:00</d:SignedUp>

當我使用jQuery和JSONP檢索此數據並提醒日期時,我看到:

/Date(978307200000)/

我需要將此值轉換回Date對象,然后可以根據需要設置其格式,但無法解決該問題。

您還可以將服務更新為OData V3(WCF Data Services 5.0),並從客戶端請求JSON為V3(MinDataServiceVersion標頭設置為3.0)。 在V3 Verbose JSON中,日期時間格式已從/Date(...)/更改為典型的XSD格式,大多數jscript庫都應該能夠很好地讀取該格式。

使用類似以下功能的東西將您的Json日期轉換為數據對象:

function parseJsonDate(jsonDate) {
  var offset = new Date().getTimezoneOffset();
  var parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate);

  if (parts[2] == undefined)
      parts[2] = 0;

  if (parts[3] == undefined)
      parts[3] = 0;

  return new Date(+parts[1] + offset + parts[2] * 3600000 + parts[3] * 60000);
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM