- 在IE edge中,用toLocaleDateString获得的时间字符串,表现很诡异。。。求指点
代码如下:
var tableDateValue = [
new Date(new Date().getTime() - 3600 * 1000 * 24 * 8).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-'),
new Date(new Date().getTime() - 3600 * 1000 * 24 * 1).toLocaleDateString('zh-Hans-CN').replace(/日/g, '').replace(/\/|年|月/g, '-')
];
console.log(tableDateValue[0]);
console.log(tableDateValue[1]);
var params = {
startTime: specifyTime(tableDateValue[0]),
endTime: specifyTime(tableDateValue[1])
};
console.log(params);
function specifyTime(time) {
var arr = time.split('-');
console.log(arr);
console.log(typeof arr[1]);
console.log(arr[1]);
console.log(arr[1].length);
console.log(Number(arr[1]));
if (arr[1].length < 2 && Number(arr[1]) < 10) {
arr[1] = '0' + arr[1];
}
console.log(arr[1]);
if (arr[2].length < 2 && Number(arr[2]) < 10) {
arr[2] = '0' + arr[2];
}
return arr.join('-');
}
打印出来的arr[1].length 竟然是3 在IE9,IE10中的表现是正常的,为啥IE edge如此奇怪,求解~~
也是看了先前两位的回答,有了思路,这样转化就是正常的了。。。。感谢大家提供的思路(自己验证了,没有问题)
var tableDateValue = [