// 获取日期对象
var dateObj = new Date();
// 获取日期 格式(yyyy-MM-dd)
var date = dateObj.toISOString().substr(0,10);
// 获取时间 格式(HH:mm:ss)
var time = dateObj.toTimeString().substr(0,8);
// 组装成北京时间
var now = date + " " + time;
console.log(now);
或者用个更简单的
var now = new Date(new Date().getTime()+8*3600*1000).toISOString().substr(0,19).replaceAll("T"," ");
console.log(now)
new Date()方法获取到的是格林威治时间,它比北京时间早了8小时。
new Date().toISOString()返回的数据是如 '2023-02-01T06:46:03.697Z'这种格式的。
new Date().getTime()获取的是1979年零点至今过去的毫秒数。
因此要获取北京时间的话,还需加8小时(8*3600*1000)。 使用此毫秒数重新格式化为时间对象,并把 'T' 替换成空格就是北京时间了。