计算 2 个日期之间经过的时间量
Calculating the amount of time passed between 2 dates
我写了一些JavaScript来计算两个日期之间的差异,来自Twitter流,然后将其等同于一个特定的值 - 例如"秒前","x天前".....
我在这里创建了一个小提琴来演示我所做的事情:http://jsfiddle.net/meAEe/3/
但是,结果始终等于"0 天前"。
谁能帮我弄清楚为什么?
您需要
在每个if
语句之间else
。
现在,它将进入第一个匹配的每个if
语句。如果时间小于一个小时,则也少于两个小时,少于一天,少于两天,不到一年。每个都将替换前一个,因此您只能看到最后一个。
代码中有逻辑错误。最后一个 if 语句将始终执行,因为您尚未使用 else if
连接 if 语句,一旦其中一个条件匹配,这将导致程序执行中断。
您的代码工作正常。如果你查看你的代码
var rightNow = new Date("Wed, 21 Dec 2011 13:05:09 +0000");
var then = new Date("Tue, 20 Dec 2011 19:05:09 +0000");
差值小于 24 小时,给出 0 天。
我把
var then = new Date("Mon, 19 Dec 2011 19:05:09 +0000");
它给了 1 天前
你需要
将if
s转换为else if
s(当然,第一个除外(。现在,他们每次都会被评估。
除了一些编程细节之外,您的问题在于使用Math.floor
函数。
根据: http://www.w3schools.com/jsref/jsref_floor.asp
Math.floor 实际上返回最接近的整数,在本例中为 0,因为结果为 0.75。
那是因为你这样做了:Math.floor(diff / day);
diff / day
的结果是0.75
.如果你把它四舍五入,它0
.如果更改日期,您将看到代码工作正常。
相关文章:
- setTimeout()是如何实现的,这样它就可以在不阻塞主线程的情况下跟踪经过的时间
- 如何创建一个显示在窗口底部角落的DIV(经过一段时间后)
- 更新网页上的计时器,并保持经过的时间--如何处理
- 日期之间经过的时间
- 计算两个 yyyyMMddHHmmss 时间戳之间的经过时间
- Javascript :经过一段时间后执行操作
- 是否可以使用 .transition() .duration() 中经过的时间作为变量
- AngularJS:只有经过一段时间后,才显示ajax请求的加载微调器
- 可以'无法获得正确的经过时间
- Javascript游戏循环-如何知道循环外的函数经过了多少时间
- 如何在点击处理程序中经过一定时间后刷新页面
- 如何获取json日期所经过的时间
- AngularJS:确定经过的时间,用于定期更新模型和视图
- d3中的颜色转换使用经过的时间
- 使用moment.js计算经过的时间
- 计算 2 个日期之间经过的时间量
- 鼠标经过时间后激活弹出菜单,然后在鼠标离开时取消激活
- Web音频Api:与经过时间相关的频率
- 将DateTime字符串转换为表中的经过时间
- 如何查找两个连续请求之间经过的时间