javascript - 函数返回带有许多小数位的奇数答案之间的天数

标签 javascript date

<分区>

我的计算器上有这个函数,用于确定两天之间的日期数:

    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

这是一个 fiddle :

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

关于javascript - 函数返回带有许多小数位的奇数答案之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290037/

相关文章:

java - Java 中的自定义 toString 未提供所需的输出并引发错误

php - 周数和周日

Javascript - 转换名称 :ItemName/Value:ItemValue Objects to Regular ItemName:ItemValue JSON

javascript - 试图在字符串中获取 javascript 对象

javascript - 当与 "new"关键字一起使用时,Object 函数在 Javascript 中做了什么?

javascript - Vue JS 将下一个输入集中在 enter 上

php mysql双日期范围

javascript - Rails Ajax 表单提交两次

javascript - 如何将 Unix 时间戳转换为 Jalali/Shamsi/Persian 格式?

ruby-on-rails - Ruby 日期时间解析