JSON到jQuery/JavaScript日期格式问题
我通过JSON以以下格式从服务器返回日期数据JSON到jQuery/JavaScript日期格式问题,javascript,json,jquery,date,Javascript,Json,Jquery,Date,我通过JSON以以下格式从服务器返回日期数据 /Date(1139443200000)/ 如果我尝试使用以下代码段在web浏览器上显示此内容: success: function( rows ) { if( rows.d[0] ) { $.each( rows.d, function( index, row ) { $("div").append( row.OpenDate ); 屏幕上显示的日期如下所示: /Date(113944320000
/Date(1139443200000)/
如果我尝试使用以下代码段在web浏览器上显示此内容:
success: function( rows ) {
if( rows.d[0] ) {
$.each( rows.d, function( index, row ) {
$("div").append( row.OpenDate );
屏幕上显示的日期如下所示:
/Date(1139443200000)/
row.OpenDate.format("dd-mm-yy");
如何将其格式化为这样显示
09-02-2006
及
您可以将其用作日期格式的参考 或 var now=新日期()
您可以将其用作日期格式的参考 或 var now=新日期() 这可以帮助您:
var dateString = 1139443200000;
var myDate = new Date(dateString);
document.write("Day of Weak: "+(myDate.getDay()+1));
document.write("<br>");
document.write("Month : " + (myDate.getMonth()+1));
document.write("<br>");
document.write("Year : " + myDate.getFullYear());
这可以帮助您:
var dateString = 1139443200000;
var myDate = new Date(dateString);
document.write("Day of Weak: "+(myDate.getDay()+1));
document.write("<br>");
document.write("Month : " + (myDate.getMonth()+1));
document.write("<br>");
document.write("Year : " + myDate.getFullYear());
我想您需要手动解析序列化的日期字符串,例如使用正则表达式:
var match = string.match(/(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)/);
var output = match[3] + "-" + match[2] + "-" + match[1] + " - " + match[4] + ":" + match[5];
我想您需要手动解析序列化的日期字符串,例如使用正则表达式:
var match = string.match(/(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)/);
var output = match[3] + "-" + match[2] + "-" + match[1] + " - " + match[4] + ":" + match[5];
按如下方式设置日期格式:
/Date(1139443200000)/
row.OpenDate.format("dd-mm-yy");
row.OpenDate.format(“dd-mm-yy”);
以及:
row.OpenDate.format(“dd-mm-yy-hh:mm”);
按如下方式设置日期格式:
/Date(1139443200000)/
row.OpenDate.format("dd-mm-yy");
row.OpenDate.format(“dd-mm-yy”);
以及:
row.OpenDate.format(“dd-mm-yy-hh:mm”);
一种通用的可重用方法
我编写了一个jQuery扩展(不是插件),它可以在执行$.parseJSON
时将Asp.net日期字符串(以及ISO日期字符串)自动转换为实际的Javascript实例。然后,您可以使用javascript日期执行任何您喜欢的操作
一种通用的可重用方法
我编写了一个jQuery扩展(不是插件),它可以在执行$.parseJSON
时将Asp.net日期字符串(以及ISO日期字符串)自动转换为实际的Javascript实例。然后,您可以使用javascript日期执行任何您喜欢的操作
恕我直言,我敢肯定你对JSON中日期的理解是错误的。如果您在调试器中查看为调用返回的数据,我希望您会发现它是这样的:
OpenDate:“/Date(1139443200000)/”
。这是在JSON文本中发送日期的一种相当常见的方式,因为JSON(令人费解)没有日期的概念。@T.J:我不知道,日期在任何编码中都是一场噩梦,所以没有日期的规范要简单得多。最好只传递自历元起的秒数,因为它是最不含糊的。@T.J.Crowder,你说得对,数据是“OpenDate”:“\/Date(1139443200000)\/”
,即使在JSON中也是如此。那么我该如何设置格式以按要求显示呢?@PhilH:我可能不该说“难以理解”。:-)我确实理解他为什么不这么做:他想要的是JavaScript文字符号的子集,而JavaScript文字符号当时唯一的日期处理方式是通过新日期(数字)
,其中,数字为UTC纪元后的毫秒数(也可以是新日期(年[,月[,…])
)。这可能是语言太具体了。这太糟糕了,通过定义一个简单解析的ISO-8601子集(值以UTC为单位),可以避免很多麻烦。请参阅本文,了解最简单的答案,我敢肯定,您对JSON中日期的外观是错误的。如果您在调试器中查看为调用返回的数据,我希望您会发现它是这样的:OpenDate:“/Date(1139443200000)/”
。这是在JSON文本中发送日期的一种相当常见的方式,因为JSON(令人费解)没有日期的概念。@T.J:我不知道,日期在任何编码中都是一场噩梦,所以没有日期的规范要简单得多。最好只传递自历元起的秒数,因为它是最不含糊的。@T.J.Crowder,你说得对,数据是“OpenDate”:“\/Date(1139443200000)\/”
,即使在JSON中也是如此。那么我该如何设置格式以按要求显示呢?@PhilH:我可能不该说“难以理解”。:-)我确实理解他为什么不这么做:他想要的是JavaScript文字符号的子集,而JavaScript文字符号当时唯一的日期处理方式是通过新日期(数字)
,其中,数字为UTC纪元后的毫秒数(也可以是新日期(年[,月[,…])
)。这可能是语言太具体了。这太糟糕了,通过定义一个简单解析的ISO-8601子集(值以UTC为单位),可以避免很多麻烦。有关最简单的答案,请参阅本帖。本帖展示了从字符串获取日期对象的最简单方法。这篇文章展示了从字符串中获取日期对象的最简单方法。