我有一个JSON文件,其中包含EPOC格式的日期列表:
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
"Date": "/Date(1405967947000)/",
我知道在Angular中我可以通过以下方式轻松过滤这些格式:
convertDate = $filter('date')(myScopeToDate, 'dd MMM yyyy');
但是,理想情况下我想以这种格式进行转换:
Tue Oct 21 2014 00:00:00 GMT+0000 (GMT Daylight Time)
所以我试过了:
var convertDate = new Date(myScopeToDate);
但输出结果为:"无效日期"
答案 0 :(得分:2)
您所看到的是JavaScript的Date对象无法理解ASP.NET的日期格式。 (旁注:ASP.NET Web API的日期不同,使用standard ISO 8601 format,感谢上帝!)
就个人而言,我会使用Moment.js来解决这个问题,该问题有intrinsic support for ASP.NET dates:
var momentDate = moment("/Date(1198908717056-0700)/");
var rawDate = momentDate.toDate(); // Tue Oct 21 2014 00:00:00 GMT+0000 (GMT Daylight Time)
答案 1 :(得分:1)
你应该结合你在答案中提出的两件事
var dateString = $filter('date')(myScopeToDate, 'yyyy-MM-dd')
var date = new Date(dateString)
你应该尝试使用ToGMTString(),ToISOString(),ToLocalString()来获取你想要的字符串表示。
或最好的方法是将moment.js用于所有日期操作
var date = moment(myScopeToDate).toDate()