可能重复:
如何格式化 JSON 日期?
我的网络服务将 DateTime 返回给 jQuery 调用。该服务以这种格式返回数据:
/Date(1245398693390)/
如何将其转换为 JavaScript 友好的日期?
可能重复:
如何格式化 JSON 日期?
我的网络服务将 DateTime 返回给 jQuery 调用。该服务以这种格式返回数据:
/Date(1245398693390)/
如何将其转换为 JavaScript 友好的日期?
返回的是自纪元以来的毫秒数。你可以这样做:
var d = new Date();
d.setTime(1245398693390);
document.write(d);
关于如何完全按照您的需要格式化日期,请参阅http://www.w3schools.com/jsref/jsref_obj_date.asp 上的完整Date参考
您可以通过解析整数(如建议here)来去除非数字:
var date = new Date(parseInt(jsonDate.substr(6)));
或者应用以下正则表达式(来自评论中的 Tominator):
var jsonDate = jqueryCall();  // returns "/Date(1245398693390)/"; 
var re = /-?\d+/; 
var m = re.exec(jsonDate); 
var d = new Date(parseInt(m[0]));
我已经使用这种方法有一段时间了:
using System;
public static class ExtensionMethods {
  // returns the number of milliseconds since Jan 1, 1970 (useful for converting C# dates to JS dates)
  public static double UnixTicks(this DateTime dt)
  {
    DateTime d1 = new DateTime(1970, 1, 1);
    DateTime d2 = dt.ToUniversalTime();
    TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
    return ts.TotalMilliseconds;
  }
}
假设您正在针对 .NET 3.5 进行开发,它是直接复制/粘贴的。您可以以其他方式移植它。
您可以将其封装在 JSON 对象中,或者简单地将其写入响应流。
在 Javascript/JSON 方面,您只需将刻度传递给新的 Date 对象即可将其转换为日期:
jQuery.ajax({
  ...
  success: function(msg) {
    var d = new Date(msg);
  }
}
使用带反向引用的 String.replace 解析日期字符串:
var milli = "/Date(1245398693390)/".replace(/\/Date\((-?\d+)\)\//, '$1');
var d = new Date(parseInt(milli));
如果您将DateTime.Net 代码中的 a传递给 javascript 代码,C#:
DateTime net_datetime = DateTime.Now;
javascript 将其视为字符串,例如"/Date(1245398693390)/":
您可以将其转换为流动:
// convert the string to date correctly
var d = eval(net_datetime.slice(1, -1))
或者:
// convert the string to date correctly
var d = eval("/Date(1245398693390)/".slice(1, -1))
如果您在获取时间信息时遇到问题,可以尝试以下操作:
    d.date = d.date.replace('/Date(', '');
    d.date = d.date.replace(')/', '');  
    var expDate = new Date(parseInt(d.date));