IE7 不支持 `new Date('2012-9-20')`(ISO 8601 格式),報錯或返回 `Invalid Date`。
var str = '2012-9-20';
str = str.replace(/-/g, '/'); // 關鍵:統一為斜杠分隔
var date = new Date(str);
var milliseconds = date.getTime(); // 毫秒數
console.log(milliseconds);
function parseDateSafe(str) {
// 支持 YYYY-MM-DD、YYYY/MM/DD、YYYY.MM.DD 等常見格式
str = str.replace(/[.\-]/g, '/');
var d = new Date(str);
return isNaN(d.getTime()) ? null : d;
}
// 使用
var d = parseDateSafe('2012-9-20');
if (d) console.log(d.getTime());