js获取当天凌晨零点的时间戳

如当前时间是“2020-10-10 11:22:33”,获取“2020-10-10 00:00:00”的时间戳。
已邀请:
匿名用户

匿名用户

赞同来自:

方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可:
var date = new Date(); //获取当前Date对象
//var date = new Date('2020/10/10 11:22:33'); //获取指定时间的Date对象,这里只能用"2020/10/10"格式,其他格式如"2020-10-10"浏览器兼容性不好
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0)
//获取毫秒时间戳,(1970-01-01 00:00:00到现在的毫秒数)
var timestamp = date.getTime(); // 1477670400000
//获取unix时间戳,(1970-01-01 00:00:00到现在的秒数)
var unix_timestamp = Math.floor(date.getTime()/1000); //1477670400
 
方法二:拼接“2020/10/10”标准格式的日期字符串,“2020/10/10”相当于“2020/10/10 00:00:00”:
//var date = new Date(); //获取当前Date对象, 爱E族:aiezu.com
var date = new Date('2020/10/10 11:22:33'); //获取指定时间的Date对象
var str = date.getFullYear()+'/'+(date.getMonth()+1)+'/'+date.getDate(); //2020/10/10
var timestamp = Date.parse(str);  //1602259200000
var unix_timestamp = Date.parse(str)/1000; //1602259200
 
  对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。

要回复问题请先登录注册