如何格式化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是存储日期的变量