Ошибка расчета даты в JavaScript в браузере. Есть 3 параметра - От Дата, Кол-во дней & Для ДатаРасчет даты - Летнее время (DST) и проблема с часовым поясом - Турция
С даты выбраны с помощью календаря компонент в JavaScript = 30/10/2016 Кол-во дней введенную = 2
не Based на нет. дней, введенных в «Дата», должно быть рассчитано так, как указано выше. From date & Число дней, рассчитанных по значению «Дата», должно быть 01/11/2016, но из-за неправильного расчета показывается 31/10/2016 ,
Time Zone - Стамбул, Турция
Пожалуйста, изучите приведенные ниже изображения для кода пропущено -
Как видно из кода пропущено, что прототип JavaScript библиотеки используется.
dateUtil.prototype.addDays=function(date,noofDays)
{
\t var _dateData=date.split("/");
\t var _date=eval(_dateData[0]);
\t var _month=eval(_dateData[1]);
\t var _year=eval(_dateData[2]);
\t var newFormatedDate = new Date(""+_month+"/"+_date+"/"+_year);
var newAddedDate=newFormatedDate.getTime() + noofDays*24*60*60*1000;
var theDate = new Date(newAddedDate);
var dd = theDate.getDate();
var mm = theDate.getMonth()+1; // 0 based
if(mm<10)
mm="0"+mm;
var yy = theDate.getYear();
if (yy < 1000)
yy +=1900; // Y2K fix
var addedDate=""+dd+"/"+mm+"/"+yy;
\t return addedDate;
}
кажется noofDays * 24 * 60 * 60 * 1000 логика проблема, где DST не рассматривается. Существует 2 часовых пояса с одним и тем же кодом, но с другим форматом даты.
Пожалуйста, не могли бы вы посоветовать какие-либо рекомендации или прочитать об этом.
Редактировать: Код JavaScript добавлен.
Использование momentjs (http://momentjs.com/docs/) Это сэкономит вам немало головных болей. Его огромная мощная библиотека, посвященная работе со временем. –
Весь соответствующий код должен быть включен в сам вопрос, а не на изображение. –
Правильно соблюдайте 'JavaScript', чтобы избежать столкновения с' Java'. –