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"
不知道为什么得到这个结果
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)-24days; // 小时 6060 总小时数-过去的小时数=现在的小时数
var minutes = parseInt(difftime%3600/60); // 分钟 -(day24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数
var seconds = parseInt(difftime%60); // 以60秒为一整份 取余 剩下秒数
console.log("时间差是: "+days+"天, "+hours+"小时, "+minutes+"分钟, "+seconds+"秒");
好的
两个时间之间的差,得到的是timespan,你用他去初始化date,当然得到的是错误的结果。。。
这样的计算 怎么计算比较准确一点呢
@anluo小毛虫: 不是准确不准确的问题,是你这个差值最终只能计算出类似:50分:53秒之类的东西。。。一般最多也就到天。
算出来的差值是毫秒,除以1000得到秒。
秒除以60得到整的分,秒减去分60得到的是秒。
比如70秒,你应该是70/60得到1分钟,然后70-601得到10秒,所以70秒等于1分10秒。。
@顾晓北: 好的 谢谢
你得提出你想要什么结果
– by.Genesis 3年前