Javascript 为什么';这个功能在Safari中不起作用吗?(在铬合金中工作良好)

Javascript 为什么';这个功能在Safari中不起作用吗?(在铬合金中工作良好),javascript,Javascript,我有一个简单的函数,可以计算两个日期之间的天数。有人能帮我解释一下为什么它目前只在Chrome中工作,而在Safari中不工作。字段Total Days(id=“display1”)返回NaN 谢谢 <!DOCTYPE html> <html> <head> <title></title> <meta name="generator" content="BBEdit 13.1"

我有一个简单的函数,可以计算两个日期之间的天数。有人能帮我解释一下为什么它目前只在Chrome中工作,而在Safari中不工作。字段Total Days(id=“display1”)返回NaN

谢谢

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta name="generator" content="BBEdit 13.1" />
    
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    
    <script>
    var example = flatpickr('.flatpickr');
    </script>
    
</head>
<body>

<h2>Calculate How many days</h2>
<p>Start Date: <input id="pick1" class="flatpickr">

<br>
<br>
End Date: <input id="pick2" class="flatpickr">

<br>
<p>Total Days: <input id="display1" value=0>

<br>
<br>
<button id=pushCalc1 type="button" onclick="dispResult()"> Get Result</button>

</body>


<script type = "text/javascript" > 
    
function dispResult(){
  
    // To set two dates to two variables 
    var date1 = new Date(' "' + document.getElementById('pick1').value + '" '); 
    var date2 = new Date(' "' + document.getElementById('pick2').value + '" ');

// To calculate the time difference of two dates 
var Difference_In_Time = date2.getTime() - date1.getTime(); 
  
// To calculate the no. of days between two dates 
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24); 
               
document.getElementById('display1').value = Difference_In_Days +1 ;            
            
}


flatpickr('.flatpickr',{
dateFormat: 'm-d-Y',
});
</script>

</html>


变量示例=flatpickr('.flatpickr');
计算多少天
开始日期:


结束日期:
总天数:

得到结果 函数dispResult(){ //将两个日期设置为两个变量 var date1=新日期(“”+document.getElementById('pick1')。值+“”); var date2=新日期(“”+document.getElementById('pick2')。值+“”); //计算两个日期的时差 var Difference_In_Time=date2.getTime()-date1.getTime(); //计算两个日期之间的天数 var差额天数=差额时间/(1000*3600*24); document.getElementById('display1')。value=天数内的差值+1; } FlatPicker(“.FlatPicker”{ 日期格式:“m-d-Y”, });
您忘记了段落结尾标记。 还建议将未更改的变量声明为
const
,而不是
var
/
let

更正:


变量示例=flatpickr('.flatpickr');
计算多少天
开始日期:



结束日期:
总天数:



得到结果 函数displayResult(){ //将两个日期设置为两个变量 const date1=新日期(“”+document.getElementById('pick1')。值+“”); const date2=新日期(“”+document.getElementById('pick2')。值+“”); //计算两个日期的时差 常量timeDiff=date2.getTime()-date1.getTime(); //计算两个日期之间的天数 常数dayDiff=时间差/(1000*3600*24); document.getElementById('display1')。value=dayDiff+1; } FlatPicker(“.FlatPicker”{ 日期格式:“m-d-Y”, });
您忘记了段落结尾标记。 还建议将未更改的变量声明为
const
,而不是
var
/
let

更正:


变量示例=flatpickr('.flatpickr');
计算多少天
开始日期:



结束日期:
总天数:



得到结果 函数displayResult(){ //将两个日期设置为两个变量 const date1=新日期(“”+document.getElementById('pick1')。值+“”); const date2=新日期(“”+document.getElementById('pick2')。值+“”); //计算两个日期的时差 常量timeDiff=date2.getTime()-date1.getTime(); //计算两个日期之间的天数 常数dayDiff=时间差/(1000*3600*24); document.getElementById('display1')。value=dayDiff+1; } FlatPicker(“.FlatPicker”{ 日期格式:“m-d-Y”, });
这个问题超出了我的范围!我仔细看了一下,发现我们需要默认输入的日期。我不知道为什么浏览器的行为不一样。试试看


变量示例=flatpickr('.flatpickr');
计算多少天
开始日期:


结束日期:
总天数:

得到结果

函数dispResult(){ const date1Value=document.getElementById('pick1')。value | | new Date(); const date2Value=document.getElementById('pick2')。value | | new Date(); //将两个日期设置为两个变量 const date1=新日期(date1Value); const date2=新日期(date2Value); //计算两个日期的时差 常量differenceInTime=date2.getTime()-date1.getTime(); //计算两个日期之间的天数 常数差日=差时/(1000*3600*24); document.getElementById('display1')。value=differenceDays; } FlatPicker('.FlatPicker');
这个问题超出了我的范围!我仔细看了一下,发现我们需要默认输入的日期。我不知道为什么浏览器的行为不一样。试试看


变量示例=flatpickr('.flatpickr');
计算多少天
开始日期:


结束日期:
总天数:

得到结果

函数dispResult(){ const date1Value=document.getElementById('pick1')。value | | new Date(); const date2Value=document.getElementById('pick2')。value | | new Date(); //将两个日期设置为两个变量