javascript - 函数返回带有许多小数位的奇数答案之间的天数
问题描述
我的计算器上有这个功能,用于确定两天之间的日期数:
function DaysBetween(str1, str2) {
var date1 = str1;
var date2 = str2;
diffDays = (new Date(date2).getTime() - new Date(date1).getTime())/(1000 * 60 * 60 * 24);
if (diffDays == 0) {
diffDays = 1;
}
return diffDays;
}
但是当我输入 '10/10/2019', '11/13/2019' 的值时,它给了我一个奇怪的输出 34.041666666666664
这是一个小提琴:
function DaysBetween(str1, str2) {
var date1 = '10/10/2019';
var date2 = '11/13/2019';
diffDays = (new Date(date2).getTime() - new Date(date1).getTime())/(1000 * 60 * 60 * 24);
if (diffDays == 0) {
diffDays = 1;
}
console.log (diffDays);
}
<button onclick="DaysBetween()">
Test!
</button>
有人可以帮我解决这个问题吗?谢谢。
解决方案
你需要使用 Math.round()
function DaysBetween(date1, date2) {
diffDays = (new Date(date2).getTime() - new Date(date1).getTime())/(1000 * 60 * 60 * 24);
console.log (Math.round(diffDays));
}
DaysBetween('10/10/2019', '11/13/2019')
34
推荐阅读
- python - 使用正则表达式宣布函数参数?
- java - Maven 在 jar 或 war 文件名中编译版本
- ruby-on-rails - 找不到stimulus_reflex NPM 包| “npm”通过“npm install -D webpack-cli”安装 CLI
- machine-learning - 梯度下降的波动
- c++ - 从键盘输入并使用 GLUT 增加/减少形状的边
- mitmproxy - 如何在 mitmproxy 上设置节流?
- swift - 如何使 NSTextView 不可选,但允许选择链接
- amazon-web-services - AWS:服务控制策略 (SCP) 不会影响服务相关角色
- flutter - 如何在 Android Studio 上配置调试 Flutter 集成测试
- git - 如何摆脱错误-运行garden.io时命令“git rev-parse --abbrev-ref HEAD”失败,代码ENOENT?