使用javascript日期时在safari上获取NAN

时间:2015-11-17 09:20:55

标签: javascript jquery safari

我正在处理某些事情,我要求彼此减去2个日期,然后将差额乘以事件的每晚价格。

我遇到的问题是,虽然这在使用Chrome或Firefox时效果很好,但如果我使用的是Safari,我会收到“NAN”。

使用以下php代码获取往返日期:

<?php 
// displays days with leading 0s
$options = array();

for ($i=1; $i<32; $i++) {
$theday = date('d', mktime(0,0,0,0,$i,2000));
$sel = ($i == date('d') ? 'selected="selected"' : '');
$options[] = "<option value= \"{$theday}\" {$sel}>{$theday}
</option>";
}

$options_list = join("\r\n", $options);
echo "<div class='select' id='date'><select class=\"short-input day-to\" name=\"day_to\">{$options_list}</select></div>";
?>

<?php
$options = array();

for ($i = 1; $i<13; $i++) {
    $themonth = date('F', mktime(0,0,0,$i,2, 2000));
    $month = date('m', mktime(0,0,0,$i,2,2000));
    $sel =($i == date('n') ? ' selected="selected"' : '');
    $options[] = "<option value=\"{$month}\" {$sel}>{$themonth}
    </option>";
}
$options_list = join("\r\n", $options);
echo "<div class='select' id='month'><select class=\"short-input month-to\" name=\"month_to\" size=\"1\">{$options_list}</select></div>";
?>

<?php 
/* build selection list for the year */
$today = time(); // stores today's date
$startYr = date("Y", $today); // get the year from $today
echo "<div class='select' id='year'>
                                <select class=\"short-input year-to\" name='year_to'>\n";
for ($year=$startYr;$year<=$startYr+10;$year++)
{
    echo " <option value= $year";
    if ($startYr == $year)
    {
        echo "";
    }
    echo " > $year</option>\n";
}
echo "</select>\n</div>\n";
?>

http://jsfiddle.net/ju097j4z/#

对此有任何解决方案吗?

1 个答案:

答案 0 :(得分:1)

在你的小提琴中使用{{1>}代替Date.parse(monthFrom + ' ' + dayFrom + ' ' + yearFrom); new Date(yearFrom, monthFrom, dayFrom); *请注意,在js月开始时为0