63 votes

datepicker date décalée d'un jour

La date renvoyée par le sélecteur de date est décalée d'un jour. S'agit-il d'un problème dans mon code ou d'un bug ?

La date envoyée à date_picker est 2012-03-21. La date renvoyée par datepicker est Tue Mar 20 2012.

    var end_date = end_calendar.getFormatedDate("%Y-%m-%d");
    end_date = $.datepicker.formatDate('D M dd yy', new Date(end_date));

0 votes

Vous êtes sûr que c'est lié à l'indicateur de date ? document.write(new Date('2012-03-21')) imprime Tue Mar 20 2012 20:00:00 GMT-0400 (Eastern Daylight Time) pour moi. Le bug de l'année bissextile ?

0 votes

Quelque chose à voir avec le formatage aussi, regardez ça : jsfiddle.net/fkSC5 Passing 2012-03-21 et 2012/03/21 à Date() donne des résultats à 4 heures d'intervalle.

0 votes

C'est vrai. La nouvelle Date('...') est décalée d'un jour.

0voto

scud bomb Points 417

Vérifiez votre orthographe de .getFormatedDate et le changer en .getFormattedDate c'est un changement trivial mais modifiez-le et voyez si vous obtenez des résultats corrects.

0voto

digifrog Points 47

Après avoir rencontré le même problème et avoir atterri sur cette page, il s'est avéré que dans mon cas, le problème était dû à un étiquetage non valide des jours. J'ai commencé la semaine le lundi, au lieu du dimanche. J'espère que cela aidera quelqu'un.

-1voto

lisandro Points 68

Comme nous l'avons dit, Javascript January est égal à 0. Cela fonctionnerait donc pour un datepicker ou une entrée de type date.

 end_date = end_date.split('-');
 end_date = new Date(end_date[0],Number(end_date[1])-1,end_date[2]);

-3voto

Karthick Kumar Points 1

Essayez ceci,

ranges": {
    'Today': [moment().hours(0).minutes(0).seconds(0).milliseconds(0), moment().hours(23).minutes(59).seconds(59).milliseconds(999)],
    'Yesterday': [moment().subtract(1, 'days').hours(0).minutes(0).seconds(0).milliseconds(0), moment().subtract(1, 'days').hours(23).minutes(59).seconds(59).milliseconds(999)],
    'Last 7 Days': [moment().subtract(6, 'days').hours(0).minutes(0).seconds(0).milliseconds(0), moment().hours(23).minutes(59).seconds(59).milliseconds(999)],
    'Last 30 Days': [moment().subtract(29, 'days').hours(0).minutes(0).seconds(0).milliseconds(0), moment().hours(23).minutes(59).seconds(59).milliseconds(999)],
    'This Month': [moment().startOf('month').hours(0).minutes(0).seconds(0).milliseconds(0), moment().endOf('month').hours(23).minutes(59).seconds(59).milliseconds(999)],
    'Last Month': [moment().subtract(1, 'month').startOf('month').hours(0).minutes(0).seconds(0).milliseconds(0), moment().subtract(1, 'month').endOf('month').hours(23).minutes(59).seconds(59).milliseconds(999)]
},

des gammes" : { "Aujourd'hui" : [moment().heures(0).minutes(0).secondes(0).millisecondes(0), moment().heures(23).minutes(59).secondes(59).millisecondes(999)], 'Hier' : [moment().soustraire(1, 'jours').heures(0).minutes(0).secondes(0).millisecondes(0), moment().soustraire(1, 'jours').heures(23).minutes(59).secondes(59).millisecondes(999)], '7 derniers jours' : [moment().soustraire(6, 'jours').heures(0).minutes(0).secondes(0).millisecondes(0), moment().heures(23).minutes(59).secondes(59).millisecondes(999)], '30 derniers jours' : [moment().soustraire(29, 'jours').heures(0).minutes(0).secondes(0).millisecondes(0), moment().heures(23).minutes(59).secondes(59).millisecondes(999)], Ce mois-ci' : [moment().startOf('month').hours(0).minutes(0).seconds(0).milliseconds(0), moment().endOf('month').hours(23).minutes(59).seconds(59).milliseconds(999)], Mois dernier' : [moment().soustraire(1, 'mois').débutOf('mois').heures(0).minutes(0).secondes(0).millisecondes(0), moment().soustraire(1, 'mois').finOf('mois').heures(23).minutes(59).secondes(59).millisecondes(999)] },

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X