Date problème de calcul en JavaScript sur le navigateur. Il y a 3 paramètres - A partir de ce jour, Nombre de jours & à ce jourCalcul de la date - Heure d'été (DST) et Fuseau horaire - Turquie
De Date sélectionnée en utilisant le composant de calendrier en JavaScript = 30/10/2016 Nombre de jours entré = 2
Sur la base non. des jours entrés "À Date" doivent être calculés, comme indiqué ci-dessus. Date de & Nombre de jours calculés "À ce jour" valeur doit être 01/11/2016 mais en raison d'un mauvais calcul, il montre 31/10/2016 .
Time Zone - Istanbul, Turquie
S'il vous plaît se référer image ci-dessous pour le code snipped -
Comme il est clair à partir du code Snipped ce prototype bibliothèque JavaScript utilisé.
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;
}
Il semble noofDays * 24 * 60 * 60 * 1000 logique est le problème où l'heure d'été n'est pas envisagée. Il y a 2 fuseau horaire affichant le même code mais avec un format de date différent.
Pourriez-vous nous donner des conseils ou faire des lectures à ce sujet?
Editer: Code JavaScript ajouté.
Utilisez le momentjs (http://momentjs.com/docs/) Cela vous évitera bien des maux de tête. C'est une énorme bibliothèque puissante dédiée à travailler avec le temps. –
Tout le code pertinent devrait être inclus dans la question elle-même, pas dans une image. –
Veillez à bien épeler 'JavaScript' pour éviter une collision avec' Java'. –