274 votes

Le moyen le plus court d'imprimer l'année actuelle sur un site Web

Je dois mettre à jour quelques centaines de pages HTML statiques dans lesquelles la date de copyright est codée en dur dans le pied de page. Je veux la remplacer par du JavaScript qui se mettra automatiquement à jour chaque année.

Actuellement, j'utilise :

var year = new Date();document.write(year.getFullYear());

Est-ce que c'est la solution la plus courte possible ?

10voto

Voici la version la plus courte et la plus fiable qui fonctionne même en avant et après Jésus-Christ.

[roulements de tambour...]

document.write(Date().split` `[3])

C'est tout. 6 octets de moins que la réponse acceptée.

Si vous avez besoin de compatibilité avec ES5, vous pouvez utiliser :

document.write(Date().split(' ')[3])

4 votes

Que se passe-t-il si votre utilisateur remonte dans le temps avant l'an 1000? Ou si un utilisateur utilise votre application après l'an 9999? #codeResponsable #pasUnAutreY2K ;)

4 votes

@NickSteele Espérons que nous n'écrirons pas uniquement en javascript à ce moment-là.

4voto

©document.write(new Date().getFullYear());, Société.

4voto

Kris Stern Points 570

Pour React.js, voici ce qui a fonctionné pour moi dans le pied de page...

render() {
    const yearNow = new Date().getFullYear();
    return (
    © Company 2015-{yearNow}
);
}

3voto

Karol Points 63

Selon l'audit de Chrome

Pour les utilisateurs en connexion lente, les scripts externes injectés dynamiquement via document.write() peuvent retarder le chargement de la page de plusieurs dizaines de secondes.

https://web.dev/no-document-write/?utm_source=lighthouse&utm_medium=devtools

donc, la solution sans erreurs est :

(new Date).getFullYear();

2voto

Chris Points 21

C'est la meilleure solution à laquelle je puisse penser qui fonctionnera avec JavaScript pur. Vous pourrez également styliser l'élément car il peut être ciblé en CSS. Il suffit d'ajouter <span id="auto-year-update"></span> à la place de l'année et elle sera automatiquement mise à jour.

//Attendre que tout soit chargé d'abord
window.addEventListener('load', () => {
    //Envelopper le code dans une IIFE 
    (function() {
        //Si votre page a un élément avec un ID de mise à jour automatique de l'année, l'élément sera renseigné avec l'année en cours.
        var date = new Date();
        if (document.querySelector("#auto-year-update") !== null) {
            document.querySelector("#auto-year-update").innerText = date.getFullYear();
        }
    })();
});

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