谷歌日历向我投掷rfc3339,但我的所有日期都是自1970年1月以来的那几毫秒。
rfc3999:
2012-07-04T18:10:00.000+09:00
javascript当前时间:(新日期())。getTime():
1341346502585
我更喜欢毫秒,因为我只处理倒计时而不是日期。
答案 0 :(得分:12)
Date.parse
应该有效:
Date.parse('2012-07-04T18:10:00.000+09:00')
然而,Date.parse
在各种浏览器中都是不可靠的,因此您需要彻底测试它。如果它不起作用,那么这是一个函数:
var googleDate = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})([+-]\d{2}):(\d{2})$/;
function parseGoogleDate(d) {
var m = googleDate.exec(d);
var year = +m[1];
var month = +m[2];
var day = +m[3];
var hour = +m[4];
var minute = +m[5];
var second = +m[6];
var msec = +m[7];
var tzHour = +m[8];
var tzMin = +m[9];
var tzOffset = new Date().getTimezoneOffset() + tzHour * 60 + tzMin;
return new Date(year, month - 1, day, hour, minute - tzOffset, second, msec);
}
答案 1 :(得分:5)