首页 新闻 会员 周边 捐助

js时间差 怎么计算比较好

0
[已解决问题] 解决于 2021-08-06 15:12

function dateFilter(time) {
let beginDate = new Date('2021-08-03 09:20:49');
let endDate = new Date();
let diff = endDate.getTime() - beginDate.getTime();
const date = new Date(diff);
const year = date.getFullYear();
const month = date.getMonth().toString().padStart(2, 0);
const day = date.getDay().toString().padStart(2, 0);
const hour = date.getHours().toString().padStart(2, 0);
const minutes = date.getMinutes().toString().padStart(2, 0);
const seconds = date.getSeconds().toString().padStart(2, 0);
return ${year}-${month}-${day} ${hour}:${minutes}:${seconds};
}
结果 "1970-00-00 08:50:53"
不知道为什么得到这个结果

js
anluo小毛虫的主页 anluo小毛虫 | 菜鸟二级 | 园豆:354
提问于:2021-08-06 10:14

你得提出你想要什么结果

by.Genesis 3年前
< >
分享
最佳答案
0

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

console.log("时间差是: "+days+"天, "+hours+"小时, "+minutes+"分钟, "+seconds+"秒");

奖励园豆:5
中控易动 | 小虾三级 |园豆:918 | 2021-08-06 14:34

好的

anluo小毛虫 | 园豆:354 (菜鸟二级) | 2021-08-06 15:11
其他回答(1)
0

两个时间之间的差,得到的是timespan,你用他去初始化date,当然得到的是错误的结果。。。

顾晓北 | 园豆:10898 (专家六级) | 2021-08-06 10:44

这样的计算 怎么计算比较准确一点呢

支持(0) 反对(0) anluo小毛虫 | 园豆:354 (菜鸟二级) | 2021-08-06 11:10

@anluo小毛虫: 不是准确不准确的问题,是你这个差值最终只能计算出类似:50分:53秒之类的东西。。。一般最多也就到天。
算出来的差值是毫秒,除以1000得到秒。
秒除以60得到整的分,秒减去分60得到的是秒。
比如70秒,你应该是70/60得到1分钟,然后70-60
1得到10秒,所以70秒等于1分10秒。。

支持(0) 反对(0) 顾晓北 | 园豆:10898 (专家六级) | 2021-08-06 13:54

@顾晓北: 好的 谢谢

支持(0) 反对(0) anluo小毛虫 | 园豆:354 (菜鸟二级) | 2021-08-06 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册