如何格式化JSON日期?

所以,我需要格式化这种格式的JSON日期

“9/30/2010 12:00:00 AM”,这是MM / DD / YYYY HH:MM:SS格式如下: DD / MM / YYYY ,所以我不需要关于小时,分钟和秒的信息,以及我需要从json更换几个月和几天,我尝试了一些不同的方法,但它总是失败

我需要使用jQuery做到这一点

我也没有找到任何答案来形成这个日期类型,所有我发现是这样的格式化日期: /日期(1224043200000)/

所以任何人都有想法?

你可以从字符串创建一个Date对象,如下所示:

 var myDate = new Date(dateString); 

然后你可以随意操纵它,获得你想要的输出的一种方法是:

 var output = myDate.getDate() + "\\" + (myDate.getMonth()+1) + "\\" + myDate.getFullYear(); 

你可以在这篇elated.com文章“使用日期”中找到更多信息

不幸的是,你的“from”dateformat不是JavaScript中与实现无关的那个。 所有其他格式都取决于实现,这意味着即使大多数实现都能理解这种格式,我也不能确定如何解析DD和MM顺序(我几乎可以肯定它会是当地的区域设置依赖)。 因此,我建议使用第三方(或您手写的)日期解析器从输入字符串中获取Date对象。 你可以在这里找到一个这样的解析器: http : //www.mattkruse.com/javascript/date/

因为您的问题不是100%明确的,所以您的日期可能是/ Date(数字)/表示您从jQuery代码调用ASP.Net服务。 在这种情况下,在JSON解析期间,您可以将其转换为Date对象:

 data = JSON.parse(data, function (key, value) { // parsing MS serialized DateTime strings if (key == '[NAME_OF_DATE_PROPERTY_IN_THE_JSON_STRING]') { return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10)); // maybe new Date(parseInt(value.substr(6))) also works and it's simpler } return value; }); 

下面的代码解决了我的问题:

 var date = new Date(parseInt(d.data[i].dtOrderDate.replace("/Date(", "").replace(")/", ""), 10)); var day = date.getDate(); var monthIndex = date.getMonth(); var year = date.getFullYear(); 

尝试这样的事情:

 var date = new Date(parseInt(jsonDate.substr(6))); 

其中jsonDate是存储日期的变量

Interesting Posts