在ASP我用這個函數來獲取一個JSON日期
public static double JsonTime(DateTime dt)
{//Convert datetime to a Json Datetime
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = dt.ToUniversalTime();
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
return Math.Round(ts.TotalMilliseconds,0);
}
,然後在JavaScript中使用:
if (data.indexOf("\/Date(")==7)
return new Date(+data.replace(/\D/g, ''));
轉換回一個日期是否有幫助
你也會有單引號和雙引號的樂趣,但在我的生活中,我找不到在Net Framework 3上使用Json字符串的服務器端解碼器!
如果你在你的代碼中使用String =「\ u0027」,那麼字符串已經被轉換,最後我寫了一個關於使用循環做這項工作的函數。
string Padding = "000";
for (int f = 1; f <= 256; f++)
{
string Hex = "\\u" + Padding.Substring(0, 4 - f.ToString().Length) + f;
string Dec = "&#" + Int32.Parse(f.ToString(), NumberStyles.HexNumber) + ";";
HTML = HTML.Replace(Hex, Dec);
}
HTML = System.Web.HttpUtility.HtmlDecode(HTML);
不好,我知道,但如果你有更好的答案,請讓我知道!
這是行不通的。我應該說我使用as3corelib來獲取JSON。 JSON正確地綁定到我的網格,但日期未正確解碼。我是 – Ahmed 2011-05-11 19:13:59
這是因爲你使用的日期是非標準的。 as3corelib解碼[w3c DTF格式(ISO 8601)](http://www.w3.org/TR/NOTE-datetime)。如果您希望它能夠工作或更改服務器的日期格式實現,則需要將字符串解碼爲Date。 – 2011-05-11 19:34:39
這種日期格式很常見。 – Ahmed 2011-05-11 19:44:58