我的应用程序从 JSON 中获取以下格式的日期时间值:
创建“/日期(1335232596000)/”
不要在视图模型上使用通过使用上述格式进行DateTime
序列化的属性,而是使用字符串属性并在服务器上进行格式化 => 使用真实的视图模型。JavaScriptSerializer
这是您可以格式化此 DateTime 的方法
DateTime date = ...
string created = date.ToString("MM/dd/yyyy hh:mm:sstt ") + GetTimeZoneName(date);
// pass the created string to the view
whereTimeZoneName
定义如下:
public static string GetTimeZoneName(DateTime date)
{
var name = TimeZone.CurrentTimeZone.IsDaylightSavingTime(date)
? TimeZone.CurrentTimeZone.DaylightName
: TimeZone.CurrentTimeZone.StandardName;
var newName = "";
var parts = name.Split(' ');
foreach (var s in parts)
{
if (s.Length >= 1)
{
newName += s.Substring(0, 1);
}
}
return newName;
}
现在在您的视图中,您将收到格式化的日期,因为它必须被格式化。如果由于某种原因您还需要Date
在视图中以 javascript 对象的形式显示此日期,您还可以将 DateTime 属性保留在视图模型上,并且序列化程序将同时包含这两者。