js如何返回当天零点的时间戳?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何返回当天零点的时间戳?相关的知识,希望对你有一定的参考价值。

例如返回当前时间的时间戳是(new Date()).getTime(); 那如何返回当天24:00:00的时间戳?

1、new Date(new Date().toLocaleDateString()).getTime(),没有 24:00:00 只有23:59:59 加一秒就到 0:00:00 所以别纠结24:00:00。

2、具体步骤:

1)方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可。

2)方法二:拼接“2020/10/10”标准格式的日期字符串,“2020/10/10”相当于“2020/10/10 00:00:00”。

3)对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。

参考技术A 获取日期 2012/11/05 的24点时间的时间戳
new Date("2012/11/05 24:00").getTime();
或者
new Date("2012/11/06").getTime();

反正参数是字符串,你可以任意拼接正确的时间点。不过 不能用 "-",
如: "2012-11-06 24:00" 这就是错的

ps:我只在firefox上试了试,其他的应该也行吧
参考技术B 没有 24:00:00 只有23:59:59 加一秒就到 0:00:00 所以别纠结24:00:00 参考技术C new Date(new Date().toLocaleDateString()).getTime()

如何用js获取特定时间戳

可以人为设置时间戳开始时间并获取到当前时间,转换成年 月 日 时 分 秒 的格式,并且在前端页面实时更新

var formatTime = function(time = new Date(), format) 
    const TOTOW = e => `0$e`.substr(-2); // 转成2位的格式  1 => 01
    const date = new Date(time);
    const yyyy = date.getFullYear();
    const MM = TOTOW(date.getMonth() + 1);
    const dd = TOTOW(date.getDate());
    const hh = TOTOW(date.getHours());
    const mm = TOTOW(date.getMinutes());
    const ss = TOTOW(date.getSeconds());
    let result;
    if (format) 
      result = format.replace(/yyyy/i, yyyy).replace(/MM/, MM).replace(/dd/i, dd).replace(/hh/i, hh).replace(/mm/, mm).replace(/ss/i, ss);
     else 
      result = `$yyyy-$MM-$dd $hh:$mm:$ss`;
    
    return result;

setInterval(() => 
let now = formatTime(new Date(), 'yyyy年MM月dd日 hh时mm分ss秒'); // 月份必须是大写MM,分钟必须是小写mm,其他大小写都行
document.body.innerText = now;
, 1000)

参考技术A 2010年荣获 参考技术B 取特定时间戳

以上是关于js如何返回当天零点的时间戳?的主要内容,如果未能解决你的问题,请参考以下文章

js如何返回当天零点的时间戳?

js获取当天零点时间戳?

php怎么获取今天零点的时间戳

sql中如何获取当天时间的零点

php时间戳

java 获取当天(今日)零点零分零秒