2015-11-17 3 views
0

Я работаю над чем-то, в котором мне требуется отнять 2 даты друг от друга, тогда разница будет умножаться на цену за ночь.Получение NAN на сафари при использовании даты javascript

Проблема, которую я имею, что, в то время как это прекрасно работает при использовании Chrome или Firefox, я получаю «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/#

Существует ли какое-либо решение этого.

+0

parseInt все ваши номера – madalinivascu

ответ

1

вместо Date.parse(monthFrom + ' ' + dayFrom + ' ' + yearFrom); в вашем использовании скрипки new Date(yearFrom, monthFrom, dayFrom); * обратите внимание, что в js месяц начинается с 0

+0

Будет ли это хорошо работать в других браузерах? – ChriChri

+0

Да, это стандартный конструктор даты в js [link] (http://www.w3schools.com/jsref/jsref_obj_date.asp) – EekTheCat

+0

Спасибо, отлично работал :) – ChriChri

Смежные вопросы