刚学JS,请问如2018年1月1日,这种格式如何转为时间戳?
2018-01-01这种我会,但2018年1月1日我就不知道了,感谢您的解答!
看你想要什么时区的"2018年1月1日",如果是local时区的只需要new Date("2018-1-1").getTime()就可以了。注意如果你用new Date("2018-01-01").getTime(),结果就会不同,因为后者他会认为是UTC时间。
可以参考https://developer.mozilla.org...
function dateToSecond(dstr){
var dArr = dstr.match(/\d+/g);
var date = new Date();
date.setYear(dArr[0]);
date.setMonth(dArr[1] - 1);
date.setDate(dArr[2]);
return date.getTime();
}
const input='2018年1月1日' // 也支持 2018年01月01日
// 1. 提取日期信息
const arr=input.split(/[年月日]/g)
const year = Number(arr[0])
const month = Number(arr[1])
const day = Number(arr[2])
// 2. 得到日期对象
const date = new Date(year + '/' + month + '/' + day +' 00:00:00')
console.log(date)
// 3. 输出时间戳
const times = Number(date)
console.log(times)
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答872 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
2018年1月1日先转换成2018-01-01,再转时间戳