Is there any way to change date time formatting in JSON?
我正在使用JSON向客户机发送数据。但是,日期字段会转换为时间跨度格式,如
有没有办法摆脱它,让服务器向客户机发送
下面是一个使用json.net的解决方案(您可以通过nuget安装它):
1 2 3 |
。
输出:
"{\"Name\":\"TestName\",\"DateTime\":\"2013-07-21T15:01:56.2872469+03:00\"}"
号
如果iso-datetime格式不适合您,您可以编写自己的datetimeconverter来与serializeobject函数一起使用。
想想这个,
1 2 3 | var data ="/Date(1363807800000)/"; var date = new Date(parseInt(data.replace("/Date(","").replace(")/",""), 10)); var result = date.getFullYear() +"-" + (date.getMonth() + 1 < 10 ?"0" + (date.getMonth() + 1) : date.getMonth() + 1) +"-" + (date.getDate() < 10 ?"0" + date.getDate() : date.getDate()) +"" + (date.getHours() < 10 ?"0" + date.getHours() : date.getHours()) +":" + (date.getMinutes() < 10 ?"0" + date.getMinutes() : date.getMinutes()); |
然后,使用这个regex来验证它,
1 | / ^ \ d {4} - \ d { 2} - \e{2} \e{2}:\e{2}:\e{2} $ / |
号
希望这有帮助…:)
我写过一次,也许你可以把这个字符串添加到你的JSON中?
1 2 3 4 5 6 7 8 9 10 | var getDate = function() { var date = new Date(); var prefix ="[" + date.getDate() +"." + (date.getMonth() + 1) +"." + date.getFullYear() +"" + date.toString().split("")[4] +"]"; return prefix; }; |