我的应用程序以下列格式从JSON获取日期时间值:
Created
"/Date(1335232596000)/"
为了显示前端的值,我用以下代码编写了一个js函数:
return new Date(parseInt(date.substr(6)));
然而,这显示以下内容:
Mon Apr 23 2012 20:56:36 GMT-0500 (Central Daylight Time)
有关如何让日期显示如下的任何建议:
"04/23/2012 - 08:56:26pm CST"
答案 0 :(得分:2)
您需要使用日期对象方法格式化日期:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
或者使用像Datejs这样的外部库。
以下是关于此的问题:Where can I find documentation on formatting a date in JavaScript?
答案 1 :(得分:2)
Date
是一个Javascript对象。您可以使用日期对象方法http://www.w3schools.com/jsref/jsref_obj_date.asp
var mydate = new Date()
var hours = mydate.getHours()
答案 2 :(得分:2)
使用官方jQuery Globalization Plugin format method:
Globalize.format( new Date(1955,10,5), "yyyy/MM/dd" );
// "1955/11/05"
Globalize.format( new Date(1955,10,5), "dddd MMMM d, yyyy" );
// "Saturday November 5, 1955"
有大量date formatting options可用。
答案 3 :(得分:1)
我的应用程序在下面从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
其中TimeZoneName
的定义如下:
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;
}
现在,在您的视图中,您将收到格式化的日期,因为它必须格式化。如果出于某种原因,您还需要在视图中以javascript Date
对象的形式使用此日期,您还可以在视图模型上保留DateTime属性,并且序列化程序将包含两者。