700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JS两个日期之间计算时间差

JS两个日期之间计算时间差

时间:2023-03-01 00:49:47

相关推荐

JS两个日期之间计算时间差

一、计算两个日期之间相差的毫秒数(也就是两个日期的时间戳差)

这里有几种常见的JS方式,来获得日期的毫秒数。

1.日期对象的 getTime();方法

<script>var date = new Date(); //新建一个日期对象,默认现在的时间var timestamp = date.getTime();//调用getTime()方法获取毫秒数alert("timestamp: "+timestamp);</script>

2. 日期对象的valueOf();方法

<script>var date = new Date(); //新建一个日期对象,默认现在的时间var timestamp = date.valueOf(date); //调用valueOf()方法获取毫秒数alert("timestamp: "+timestamp);</script>

3. Date对象的parse();方法

<script>var date = new Date(); //新建一个日期对象,默认现在的时间var timestamp = Date.parse(date);//使用Date对象的parse()方法,获取毫秒数alert("timestamp: "+timestamp);</script>

二、用现在时间的毫秒数减去过去时间的毫秒数,得到的就是两个日期相差的总毫秒数。

ps:可以使用上述的三种方法,另外还有一种最为简单的方法。如果两个日期对象都是Date类型的话,可以直接相减,得到的就是毫秒数差。

<script>var new_date = new Date(); //新建一个日期对象,默认现在的时间var old_date = new Date("-12-12 00:00:00"); //设置过去的一个时间点,"yyyy-MM-dd HH:mm:ss"格式化日期var difftime = new_date - old_date; //计算时间差alert("difftime: "+difftime);</script>

三、得到了两个日期的毫秒差之后,就可以转化成具体的日期格式(xxxx年xx月xx天,xx小时xx分钟xx秒)

因为我们获取的是毫秒,所有要先转换成秒。1秒=1000毫秒

<script>var new_date = new Date(); //新建一个日期对象,默认现在的时间var old_date = new Date("-12-12 00:00:00"); //设置过去的一个时间点,"yyyy-MM-dd HH:mm:ss"格式化日期var difftime = (new_date - old_date)/1000; //计算时间差,并把毫秒转换成秒var days = parseInt(difftime/86400); // 天 24*60*60*1000 var hours = parseInt(difftime/3600)-24*days; // 小时 60*60 总小时数-过去的小时数=现在的小时数 var minutes = parseInt(difftime%3600/60); // 分钟 -(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数var seconds = parseInt(difftime%60); // 以60秒为一整份 取余 剩下秒数alert("时间差是: "+days+"天, "+hours+"小时, "+minutes+"分钟, "+seconds+"秒");</script>

另外本人踩过坑的一个项目,还是从网上获取的别人的代码,不曾想还是个有bug的项目。

当时这种方式设置日期,然后再获取毫秒数,就会出现30天的时间差。后来干脆直接格式化一下日期放进去,没想到就对了。我也很懵比,有知道的大牛,可以告知一下这样做为什么会好,万分感谢!!!

GitHub源码:/xinyi-jin/Romantic-confession

阿里云服务器地址:http://116.62.231.236:8080/zhuhe/

ps:部分浏览器不支持,会显示日期错误

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
JS 时间差计算

JS 时间差计算

2024-01-17

JS计算时间差

JS计算时间差

2020-05-22

js 计算时间差

js 计算时间差

2022-07-21

JS计算日期时间差

JS计算日期时间差

2021-11-02

前端js计算时间差

前端js计算时间差

2020-05-01