Obtenez l'année en cours en JavaScript


975

Comment obtenir l'année en cours en JavaScript?


10
Étonnant s'il n'y a vraiment pas de doublon pour cela. Celui-ci est proche, mais pas exact.
TJ Crowder

5
Obtenez-vous une référence, ceci est une simple recherche Date Object
epascarello

2
Notez que l'année "en cours" n'est pas nécessairement la même pour tout le monde sur la planète en même temps. Il faut considérer le fuseau horaire. La plupart des réponses ici donnent l'année en cours dans le fuseau horaire local de l'utilisateur (en supposant que le code s'exécute dans un navigateur Web).
Matt Johnson-Pint

Réponses:


1762

Créez un new Date()objet et appelez getFullYear():

new Date().getFullYear()
// returns the current year

Détournement de la réponse acceptée pour fournir un exemple de contexte de base comme un pied de page qui montre toujours l'année en cours:

<footer>
    &copy; <span id="year"></span>
</footer>

Quelque part ailleurs exécuté après le chargement du code HTML ci-dessus:

<script>
    document.getElementById("year").innerHTML = new Date().getFullYear();
</script>


26
Pour d'autres fonctions de la même famille, voir: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
user456584

Pour obtenir l'année selon le temps universel, utilisez getUTCFullYear ()
Courtney Pattison

2
L'exemple de pied de page ci-dessus serait plus clair s'il était juste: <footer> <span id = "year"> </span> </footer>
Mike

227
// Return today's date and time
var currentTime = new Date()

// returns the month (from 0 to 11)
var month = currentTime.getMonth() + 1

// returns the day of the month (from 1 to 31)
var day = currentTime.getDate()

// returns the year (four digits)
var year = currentTime.getFullYear()

// write output MM/dd/yyyy
document.write(month + "/" + day + "/" + year)


3
Utilisez getFullYear () au lieu de getYear (). Voir stackoverflow.com/questions/16296897/…
roland

95

Voici une autre méthode pour obtenir la date

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)

5

Voici comment je l'ai intégré et sorti sur ma page Web HTML:

<div class="container">
    <p class="text-center">Copyright &copy; 
        <script>
            var CurrentYear = new Date().getFullYear()
            document.write(CurrentYear)
        </script>
    </p>
</div>

La sortie vers la page HTML est la suivante:

Copyright © 2018


4
Je ne suis pas d'accord. C'est évidemment une question de débutant et nous ne devons pas enseigner les mauvaises pratiques à quiconque, en particulier à ceux qui commencent à apprendre les fondamentaux. De plus, votre réponse ne fournit aucune nouvelle information comme cela new Date().getFullYear()est déjà indiqué dans la réponse acceptée.
leonheess

2
1.) Les mauvaises pratiques vous disent, mais d'autres ne sont pas d'accord car il s'agit de Javascript vanilla valide; 2.) Ma réponse fournit de nouvelles informations sur la façon de l'implémenter dans une page HTML, et pas seulement console.log ().
Programmeur de Jérusalem

2
"Bon" est subjectif. Il existe plusieurs méthodes pour dépouiller un chat et plusieurs méthodes pour résoudre les problèmes de codage. Si la solution est simple et fonctionne, pourquoi n'est-ce pas "bon" à votre humble avis?
Programmeur de Jérusalem

1
Eh bien, monsieur, il est clair que ce n'est pas une norme objective claire (et en fait c'est un débat ouvert), car il y en a beaucoup qui ne sont pas d'accord avec vous: stackoverflow.com/questions/802854/… ... et aussi ici : stackoverflow.com/questions/18789190/why-not-document-write Par conséquent, votre marque ma réputation pour votre opinion subjective n'est pas très agréable car il y en a d'autres qui seraient en désaccord avec vous. Rappelez-vous le point principal ici, et que je viens de fournir un moyen simple d'imprimer cela dans un fichier HTML au lieu de console.log ().
Programmeur de Jérusalem

1
Veuillez consulter les deux liens précédents où vous pouvez voir des CENTAINES de personnes en désaccord avec vous. Il y a aussi des CENTAINES de personnes qui sont d'accord avec vous, donc ce n'est pas une question claire. Votre insistance sur votre chemin ou la voie haute est assez fermée car vous ne pouvez pas être certain que quelqu'un peut décider que document.write () est la meilleure solution pour ses besoins.
Programmeur de Jérusalem

4

pour l'année en cours, nous pouvons utiliser getFullYear () de la classe Date , mais il existe de nombreuses fonctions que vous pouvez utiliser selon les exigences, certaines fonctions sont les suivantes,

var now = new Date()
console.log("Current Time is: " + now);

// getFullYear function will give current year 
var currentYear = now.getFullYear()
console.log("Current year is: " + currentYear);

// getYear will give you the years after 1990 i.e currentYear-1990
var year = now.getYear()
console.log("Current year is: " + year);

// getMonth gives the month value but months starts from 0
// add 1 to get actual month value 
var month = now.getMonth() + 1
console.log("Current month is: " + month);

// getDate gives the date value
var day = now.getDate()
console.log("Today's day is: " + day);


2

Prenez cet exemple, vous pouvez le placer où vous voulez le montrer sans faire référence au script dans le pied de page ou ailleurs comme d'autres réponses

<script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>

Note de copyright sur le pied de page à titre d'exemple

Copyright 2010 - <script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>

Ceci est une réponse inutile.
Crocsx

@crocsx vous pouvez ajouter ce code dans votre code HTML à l'endroit où vous voulez l'afficher sans faire référence au script dans le pied de page ou ailleurs comme toutes les autres réponses
Majali

est la même que la réponse du programmeur de Jérusalem légèrement différente
Crocsx

@Crocsx cette réponse est plus propre n'inclut pas d'élément HTML et de classes CSS qui supposent que vous utilisez le bootstrap, c'est seulement une ligne, non?
Majali

la question est simplement d'obtenir l'année en JS, pas d'obtenir l'année et de la placer dans le pied de page. Et dans ce cas, vous auriez pu modifier l'autre réponse. Quoi qu'il en soit ...
Crocsx

1

Vous pouvez simplement utiliser javascript comme celui-ci. Sinon, vous pouvez utiliser le plugin momentJs qui aide dans les grandes applications.

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)

function generate(type,element)
{
	var value = "";
	var date = new Date();
	switch (type) {
		case "Date":
			value = date.getDate();		// Get the day as a number (1-31)
			break;
		case "Day":
			value = date.getDay();		// Get the weekday as a number (0-6)
			break;
		case "FullYear":
			value = date.getFullYear();	// Get the four digit year (yyyy)
			break;
		case "Hours":
			value = date.getHours();	// Get the hour (0-23)
			break;
		case "Milliseconds":
			value = date.getMilliseconds();	// Get the milliseconds (0-999)
			break;
		case "Minutes":
			value = date.getMinutes();     // Get the minutes (0-59)
			break;
		case "Month":
			value = date.getMonth();	// Get the month (0-11)
			break;
		case "Seconds":
			value = date.getSeconds();	// Get the seconds (0-59)
			break;
		case "Time":
			value = date.getTime();		// Get the time (milliseconds since January 1, 1970)
			break;
	}

	$(element).siblings('span').text(value);
}
li{
  list-style-type: none;
  padding: 5px;
}

button{
  width: 150px;
}

span{
  margin-left: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<ul>
	<li>
		<button type="button" onclick="generate('Date',this)">Get Date</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Day',this)">Get Day</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('FullYear',this)">Get Full Year</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Hours',this)">Get Hours</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Milliseconds',this)">Get Milliseconds</button>
		<span></span>
	</li>

	<li>
		<button type="button" onclick="generate('Minutes',this)">Get Minutes</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Month',this)">Get Month</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Seconds',this)">Get Seconds</button>
		<span></span>
	</li>
	<li>
		<button type="button" onclick="generate('Time',this)">Get Time</button>
		<span></span>
	</li>
</ul>


0

TL; DR

La plupart des réponses trouvées ici ne sont correctes que si vous avez besoin de l'année en cours en fonction de votre région du fuseau horaire et du décalage de machine (côté client) - source qui, dans la plupart des scénarios, ne peut pas être considérée comme fiable (car elle peut différer d'une machine à l'autre) .

Les sources fiables sont:

  • Horloge du serveur Web (mais assurez-vous qu'elle est mise à jour)
  • API de temps et CDN

Détails

Une méthode appelée Date instance retournera une valeur basée sur l'heure locale de votre machine.

De plus amples détails peuvent être trouvés dans "Documents Web MDN": Objet Date JavaScript .

Pour votre commodité, j'ai ajouté une note pertinente de leurs documents:

(...) les méthodes de base pour extraire la date et l'heure ou ses composants fonctionnent tous dans le fuseau horaire et le décalage local (c'est-à-dire le système hôte).

Une autre source mentionnant ceci est: objet date et heure JavaScript

il est important de noter que si l'horloge d'une personne est désactivée de quelques heures ou si elle se trouve dans un fuseau horaire différent, l'objet Date créera une heure différente de celle créée sur votre propre ordinateur.

Voici quelques sources fiables que vous pouvez utiliser:

Mais si vous ne vous souciez pas de la précision de l'heure ou si votre cas d'utilisation nécessite une valeur de temps par rapport à l'heure de la machine locale, vous pouvez utiliser en toute sécurité Dateles méthodes de base de Javascript comme Date.now(), ou new Date().getFullYear()(pour l'année en cours).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.