J'ai ce javascript pour définir automatiquement un filtre de date sur le premier et le dernier jour du mois précédent:
$(document).ready(function () {
$("#DateFrom").datepicker({ dateFormat: 'dd/mm/yy' });
$("#DateTo").datepicker({ dateFormat: 'dd/mm/yy' });
var now = new Date();
var firstDayPrevMonth = new Date(now.getYear(), now.getMonth() - 1, 1);
var firstDayThisMonth = new Date(now.getYear(), now.getMonth(), 1);
var lastDayPrevMonth = new Date(firstDayThisMonth - 1);
$("#DateFrom").datepicker("setDate", firstDayPrevMonth);
$("#DateTo").datepicker("setDate", lastDayPrevMonth);
});
MAIS now.getYear()
renvoie 111 au lieu de 2011. Est-ce qu'il y a quelque chose d'évident que j'ai manqué?
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getYear
getYear
n'est plus utilisé et a été remplacé par la méthodegetFullYear
.La méthode
getYear
renvoie l'année moins 1900; Ainsi:
- Pour les années supérieures ou égales à 2000, la valeur renvoyée par
getYear
est égale ou supérieure à 100. Par exemple, si l'année est 2026,getYear
renvoie 126.- Pour les années comprises entre 1900 et 1999 inclus, la valeur renvoyée par
getYear
est comprise entre 0 et 99. Par exemple, si l'année est 1976,getYear
renvoie 76.- Pour les années inférieures à 1900, la valeur renvoyée par
getYear
est inférieure à 0. Par exemple, si l'année est 1800,getYear
renvoie -100.- Pour prendre en compte les années avant et après 2000, vous devez utiliser
getFullYear
au lieu degetYear
afin que l'année soit spécifiée dans son intégralité.
Afin de se conformer à la jurisprudence boneheaded, getYear()
renvoie le nombre d'années écoulées depuis 1900.
Au lieu de cela, vous devez appeler getFullYear()
, qui renvoie l'année en cours.
D'après ce que j'ai lu sur les pages JS de Mozilla, getYear est obsolète. Comme indiqué à plusieurs reprises, getFullYear()
est la voie à suivre. Si vous voulez vraiment utiliser getYear()
ajoutez 1900.
var now = new Date(),
year = now.getYear() + 1900;