我想在我的页面中将日期解析为Javascript的Date
。
所以我在我的页面中有这个
<span>01-07-2012 01:04 PM</span>
我有Javascript代码将此值解析为日期
var tagText = $(this).html();
var givenDate = new Date(tagText);
alert(givenDate);
以下是我在不同浏览器中获得的内容
IE:
星期六1月7日13:04:00 UTC + 0400 2012
铬:
Sat Jan 07 2012 13:04:00 GMT +0400(高加索标准时间)
火狐:
无效日期
为什么Firefox无法识别我的约会?我必须改变什么才能使它适用于所有主流浏览器?
这是jsfiddle http://jsfiddle.net/mgER5/1/
答案 0 :(得分:8)
试试这个:
var tagText = $(this).html();
tagText = tagText.replace(/-/g, '/');
var givenDate = new Date(tagText);
alert(givenDate);
答案 1 :(得分:2)
如documentation中所述,您传递给Date对象的构造函数的字符串应为:
表示日期的字符串值。字符串应采用格式 由parse方法(IETF-compliant RFC 1123 timestamps)识别。
基本上它应代表RFC822或ISO 8601日期。
答案 2 :(得分:0)
我必须更改以使其适用于所有主流浏览器吗?
以毫秒为单位写。
答案 3 :(得分:0)
如果您真的想要任何日期格式的完全跨浏览器支持,您应该看一下moment.js。它允许您明确输入格式。例如:
var m = moment('01-07-2012 01:04 PM', 'DD-MM-YYYY hh:mm a');