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如何返回当天零点的时间戳?的主要内容,如果未能解决你的问题,请参考以下文章