TempusJS - travailler avec des dates en javascript. JavaScript Obtenir l'heure et la date actuelles Millisecondes Javascript

L'objet Date vous permet de travailler avec des dates et des heures. Pour créer un nouvel objet Date, utilisez la syntaxe suivante :

Nouvelle date()

Les dates y sont stockées sous forme de nombre de millisecondes écoulées depuis minuit le 1er janvier 1970 selon le temps universel (UTC). Ce format permet à Date de représenter avec précision des dates distantes de 285 616 ans du 1er janvier 1970.

Si le constructeur Date est appelé sans arguments, un objet est créé avec les valeurs de date et d'heure actuelles. Pour créer un objet Date avec une date ou une heure spécifique, vous devrez transmettre l'un des quatre paramètres possibles :

  • millisecondes : la valeur doit être le nombre de millisecondes depuis le 01/01/1970 var BirthDate = new Date(8298400000); document.write(birthDate);
  • chaîne de date : n'importe quelle date au format pris en charge par la méthode parse() var BirthDate = new Date("April 16, 1975"); document.write(birthDate);
  • année, mois, jour var BirthDate = new Date(1975, 4, 28); document.write(birthDate);

    Attention, le chiffre 4 correspond au mois de mai. Cela signifie que janvier correspond au chiffre 0. Les jours sont calculés de la même manière, seulement dans ce cas le dimanche correspond à zéro.

  • année, mois, jour, heure, minutes, secondes, millisecondes

Lorsque vous travaillez avec l'objet Date, il est important de se rappeler que les calculs sont effectués en temps universel (UTC), même si votre ordinateur peut afficher l'heure en fonction de votre fuseau horaire.

Méthodes Description de la méthode
avoir un rendez-vous()Renvoie le jour du mois (de 1 à 31) pour la date spécifiée, heure locale.
getDay()Renvoie le jour de la semaine (0 à 6 ; 0 = dimanche, 1 = lundi, etc.) pour la date spécifiée en heure locale.
getFullYear()Renvoie l'année (quatre chiffres).
getHeures()Renvoie l'heure (de 0 à 23).
getMillisecondes()Renvoie les millisecondes (de 0 à 999).
getMinutes()Renvoie les minutes (de 0 à 59).
getMois()Renvoie le mois (de 0 à 11 ; 0 = janvier, 1 = février, etc.).
getSeconds()Renvoie les secondes (de 0 à 59).
obtenir du temps()Renvoie le nombre de millisecondes écoulées depuis le 01/01/1970 à minuit.
getTimezoneOffset()Renvoie le décalage horaire entre l'heure UTC et l'heure locale, en minutes.
getUTCDate()Renvoie le jour du mois en UTC (de 1 à 31).
getUTCDay()Renvoie le jour de la semaine en Temps Universel (de 0 à 6).
getUTCFullYear()Renvoie l'année en temps universel (quatre chiffres).
getUTCHours()Renvoie l'heure en temps universel (0 à 23).
getUTCMillisecondes()Renvoie les millisecondes en temps universel (de 0 à 999).
getUTCMinutes()Renvoie les minutes en temps universel (0 à 59).
getUTCMois()Renvoie le mois en UTC (de 0 à 11).
getUTCSeconds()Renvoie les secondes en Temps Universel (de 0 à 59).
analyser()Analyse une chaîne de date (par exemple, « 21 mai 1992 ») et renvoie une chaîne de valeur de date qui contient le nombre en millisecondes depuis le 1er janvier 1970 00:00:00.
régler la date()Définit le jour du mois pour la date spécifiée en heure locale (de 1 à 31).
setFullYear()Définit l'année (quatre chiffres).
setHeures()Règle l'horloge pour la date spécifiée en fonction de l'heure locale (0 à 23).
setMillisecondes()Définit les millisecondes de la date spécifiée sur l'heure locale.
setMinutes()Règle les minutes (de 0 à 59).
setMois()Règle le mois (de 0 à 11).
setSeconds()Règle les secondes (de 0 à 59).
régler le temps()Définit la date en millisecondes après (ou avant) le 01/01/1970.
setUTCDate()Spécifie le jour du mois.
setUTCFullYear()Règle l'année selon le temps universel (quatre chiffres).
setUTCHours()Définit l'heure de la date spécifiée en temps universel.
setUTCMillisecondes()Définit les millisecondes pour la date spécifiée en temps universel.
setUTCMinutes()Définit les minutes de la date spécifiée en temps universel.
setUTCMois()Définit le mois pour la date spécifiée en temps universel.
setUTCSeconds()Définit les secondes pour la date spécifiée en temps universel.
versDateString()
àISOString()Convertit une date en chaîne en utilisant la norme ISO 8601.
versJSON()Renvoie la date sous forme de chaîne, formatée en date JSON.
versLocaleDateString()
versLocaleTimeString()Renvoie la partie date sous forme de chaîne, avec une représentation de date basée sur les paramètres système.
versLocaleString()Renvoie la date sous forme de chaîne, avec une représentation de la date basée sur les paramètres système.
àChaîne()Renvoie une chaîne représentant l'objet Date spécifié.
àTimeString()Renvoie la partie date sous forme de chaîne.
versUTCString()Convertit une date en chaîne en utilisant le fuseau horaire UTC.
UTC()Prend les mêmes paramètres que le constructeur de forme longue (c'est-à-dire 2-7) et renvoie le nombre de millisecondes depuis le 1er janvier 1970, 00:00:00 UTC.
valeur de()Renvoie la valeur primitive d'un objet Date.

Salut tout le monde!
Je dois souvent travailler avec des données statistiques et une grande partie d’entre elles sont liées à des dates. De plus, la même date peut être utilisée sur une page dans différents formats (par exemple, dans un format convivial pour les machines et dans un format convivial pour les humains). Je pense que la plupart d'entre vous sont bien conscients de tout le code horrible qui résulte de l'utilisation de l'objet Date.
Par exemple, pour obtenir la date actuelle au format JJ.MM.AAAA, nous devons procéder comme suit :
var d = new Date(), fd = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear();
Et quand ces lignes deviennent-elles nombreuses ? Est-il facile de se rappeler qu'en JavaScript, le mois commence à zéro lorsque vous n'y développez pas seulement ? Ou le fait qu'il y ait des millisecondes ici, et non des secondes, comme presque partout ailleurs sur le backend ? Vous pouvez résoudre certains problèmes avec la bibliothèque populaire Moment.js, mais elle fonctionne très lentement.
La bibliothèque en question résout ces problèmes.
Si vous êtes intéressé, je vous suggère de lire cette courte critique.

TempusJS contient beaucoup de sucre syntaxique sur l'objet Date, il est donc très rapide. La syntaxe de la bibliothèque elle-même est très simple. Par exemple, vous pouvez écrire l'exemple précédent comme ceci :
var fd = tempus().format("%d.%m.%Y");
Parlons maintenant de la vitesse. Dans le spoiler, vous pouvez voir une comparaison de Tempus avec Moment et la manière native de formater la date (voir ci-dessus) :

Comparaison des JS natifs, MomentJS et TempusJS

Obtenez la date actuelle Native JS x 2 175 575 ops/sec ±0,75 % (96 exécutions échantillonnées) Moment x 284 864 ops/sec ±0,85 % (96 exécutions échantillonnées) Tempus x 2 086 081 ops/sec ±0,73 % (97 exécutions échantillonnées) Formatage Native JS x 1 637 517 ops/sec ±0,61 % (100 exécutions échantillonnées) Moment x 8 808 ops/sec ±1,07 % (100 exécutions échantillonnées) Tempus x 942 815 ops/sec ±0,68 % (94 exécutions échantillonnées) Détection et analyse automatiques de la date Native JS x 11 204 316 ops/sec ±0,81 % (88 exécutions échantillonnées) Moment x 38 511 ops/sec ±1,41 % (95 exécutions échantillonnées) Tempus x 93 973 ops/sec ±1,06 % (85 exécutions échantillonnées) Format d'analyse de date Moment x 46 293 ops/sec ±0,63 % (100 exécutions échantillonnées) Tempus x 109 947 opérations/s ±0,93 % (99 exécutions échantillonnées) Analyse et validation Moment x 44 588 opérations/s ±1,09 % (90 exécutions échantillonnées) Tempus x 103 439 opérations/s ±0,90 % (94 exécutions échantillonnées )
Les résultats ont été obtenus sur mon ordinateur portable en utilisant Google Chrome 30.0.1599.114. Dans d'autres navigateurs, les résultats diffèrent, mais le ratio reste à peu près le même.
La bibliothèque benchmark.js a été utilisée pour les tests
Des repères pour d’autres fonctions, vous pouvez le voir.

Ainsi, les avantages de cette bibliothèque peuvent s’écrire comme suit :

  • Prend en charge IE6+, Chrome, Firefox, Opera ;
  • Prend en charge les chaînes d'appels ;
  • Les mois peuvent commencer à 1 (par défaut) plutôt qu'à zéro ;
  • Les millisecondes peuvent être désactivées (par défaut) ou activées ;
  • Fonctionnement rapide (puisque, dans de nombreux cas, on utilise l'objet Date natif du navigateur, dont l'implémentation est écrite dans des langages plus rapides) ;
  • Prend en charge les formats et plugins personnalisés
  • La validation de la date est très rapide et dépend uniquement des fonctions qui fixent la date (puisque la validation a lieu lors de la saisie des valeurs, et n'est pas calculée séparément) ;
  • Multilingue et détection automatique de la langue de l'utilisateur.

Ici, nous ne parlerons que de certaines fonctions.

Formatage et analyse

Alors, tout d’abord, un autre exemple de formatage de date. Ici, nous utilisons également le chaînage d’appels. A la fin de chaque définition de valeur, nous récupérons un objet TempusDate que nous pouvons utiliser plus loin dans la chaîne. Exemple:
tempus(). // obtient une nouvelle date calc((month: -1)). // le réduit d'un mois format("%d.%m.%Y"); // Sortie sous forme de chaîne
Ainsi, nous obtiendrons le même jour, heure et seconde, mais il y a un mois. Cela peut être utile pour obtenir des rapports pour le mois dernier.

L'exemple suivant est l'analyse de date.
// Renvoie un objet TempusDate avec la date "2013-11-18" tempus("11/18/2013"); // Renvoie un objet TempusDate avec la date "2013-12-12" tempus("2013-12-12", "%Y-%m-%d"));
Tempus peut détecter automatiquement certains formats connus. En outre, vous pouvez spécifier un format spécifique, l'analyse sera alors plus rapide. De plus, vous pouvez définir une date qui sera renvoyée si l'analyse échoue :
// Parce que "123" ne rentre pas dans le format "%d.%m.%Y", alors // un objet contenant la date 01/01/2013 tempus("123", "%d.%m.%Y", tempus sera retourné ());
La liste des formats par défaut peut être consultée

Modifions maintenant le format de la date déjà formatée
// "05/11/2013" tempus("05.11.2013").format("%Y-%m-%d"); // Ou comme ça // "12 octobre" tempus("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" %B, %d");

Vous pouvez également utiliser la localisation pour le formatage. Par défaut, la langue de l'utilisateur sera sélectionnée (extraite du navigateur) ou la langue par défaut si la langue de l'utilisateur ne se trouve pas parmi les langues Tempus disponibles.
// Définir la langue tempus.lang("ru"); // Nous utilisons le format par défaut // "Novembre 05" tempus(1383609600).format("%B, %d");
Pour le moment, il n'y a que deux langues - le russe et l'anglais, je serai donc heureux de vous aider.

Validation La validation d'une date s'effectue de la manière suivante :
// Renvoie false tempus("08/32/2013", "%d.%m.%Y").valid(); // Renvoie true tempus("00:00 01/01/2012", "%H:%M %d.%m.%Y").valid();

En cas d'erreur, vous pouvez voir les champs dans lesquels elle s'est produite - partout où la valeur n'est pas fausse :
// Retour ("année":-5,"mois":faux,"jour":faux,"heures":faux, // "minutes":faux,"secondes":faux,"millisecondes":faux) tempus (). année(-5). // définit l'année = -5, c'est-à-dire erreurs invalides (); // récupère un objet avec des erreurs

Plages de dates Parfois, nous avons besoin d'obtenir le nombre d'années (par exemple, l'âge), de mois, de jours, etc. entre deux dates. Pour ce faire, on peut utiliser la méthode between, qui trouve la différence entre deux dates et la renvoie dans le format souhaité ("année", "mois", "jour", "heures", "minutes", "secondes", "millisecondes").
Voici un exemple simple d'obtention du nombre de mois entre le 1er novembre 2013 et le 5 mai 2014 :
// Renvoie 6 tempus().between(tempus(), "month");
Ou combien d'heures reste-t-il avant la nouvelle année
tempus().between(tempus(), "heures");
Dans le dernier exemple, vous remarquerez que je n'ai précisé que l'année. Lors de la définition d'une valeur par un tableau ou un objet, les valeurs manquantes seront
rempli de minimum Vous pouvez voir une liste de constantes avec des valeurs minimales dans la documentation.

De plus, nous pouvons modifier n'importe quelle date en utilisant la fonction calc :
// Renvoie TempusDate avec la date 2012-01-01 tempus().calc((année : 1, mois : -4, jour : -1));

Formats personnalisés Nous appliquons notre propre format pour le mois, qui peut prendre des valeurs de 1 à 12 (et non 01 à 12) :
// Enregistre un nouveau format tempus.registerFormat("%q", // directive - %q function(date) ( // Nous indiquons ici la fonction de formatage, c'est à dire ce qui sera substitué à %q return date.month(); ) , function(value) ( ​​​​​​// Et voici la fonction d'analyse var v = Number(value); return (month: (isNaN(v) ? undefined: v) ); ), 1, // La longueur minimale cette valeur 2 peut prendre , // Longueur maximale "number" // Type); // Test // Retour "01.1.2013" ; tempus((année : 2013, mois : 1, jour : 1)).format("%d.%q.%Y"); // Retour ("année":2013,"mois":2,"jour":10,"heures":0,"minutes":0,"secondes":0); tempus("10.2.2013", "%d.%q.%Y").get();
Lors de l'inscription, vous remarquerez peut-être que certains paramètres sont spécifiés séparément, alors qu'une expression régulière pourrait être utilisée. En fait, il était là au départ, mais après l'avoir abandonné, la vitesse a augmenté plusieurs dizaines de fois.
Si vous devez supprimer un format, utilisez unregisterFormat :
tempus.unregisterFormat("%d"); // Renvoie "%d.01.2013", car La directive %d n'existe plus. tempus.format((année : 2013, mois : 1, jour : 1), "%d.%m.%Y"); Getters/setters Vous pouvez obtenir/définir certaines valeurs en utilisant les fonctions year(),month(), day(), hours(), minutes(), seconds(), milliseconds(), dayOfWeek(), utc() , timestamp( ) ou set(). Par exemple:
tempus(). // Récupère la date actuelle (1900). // Laisse tout tel quel, mais fixe l'année à 1900 bissextile(); // Vérifiez s'il s'agit d'une année bissextile, dans ce cas false tempus().year(); // Et ainsi nous obtenons l'année en cours sous forme numérique. Générer des dates Vous pouvez générer une date de plusieurs manières ; la liste complète des paramètres se trouve dans la documentation. Voici un exemple minimal.
// renvoie ["29/03/2013", "30/03/2013", "31/03/2013", "01/04/2013", "02/04/2013"] ; tempus.generate(( dateFrom : "20130329", formatFrom : "%Y.%m.%d", dateTo : "20130402", période : (jour : 1), format : "%d.%m.%Y" ));
Cela peut être utile pour afficher des graphiques par date et changer le format d'affichage directement sur le client, sans requêtes au backend. La date peut être générée sous forme de tableau ou d'objets, où les dates elles-mêmes seront les clés (cela est utile lorsque nous devons lier un événement à une date, par exemple lorsque nous créons notre propre calendrier). De plus, les dates peuvent être regroupées par jours, semaines, mois, heures, années – par n'importe quoi. Cela peut également être appliqué au calendrier.PluginsEt enfin et surtout, les plugins. Ici, nous étendons l'usine pour générer une date aléatoire. De plus, nous avons besoin de la classe TempusDate, elle se trouve dans tempus.classes(). Voici un exemple de plugin :
(function (tempus) ( var TempusDate = tempus.classes("TempusDate"); tempus.randomDate = function() ( var date = new TempusDate(); date.year(Math.floor((Math.random()*( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)).month(Math.floor((Math.random()*(tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)).day(Math. étage((Math.random()*(date.dayCount() - tempus.MIN_DAY)) + tempus.MIN_DAY)).hours(Math.floor((Math.random()*(tempus.MAX_HOURS - tempus.MIN_HOURS) ) + tempus.MIN_HOURS)).minutes(Math.floor((Math.random()*(tempus.MAX_MINUTES - tempus.MIN_MINUTES)) + tempus.MIN_MINUTES)).seconds(Math.floor((Math.random() *(tempus.MAX_SECONDS - tempus.MIN_SECONDS)) + tempus.MIN_SECONDS)); date de retour; ); ))(tempus); // Nous pouvons maintenant créer des dates comme celle-ci var someRandomDate = tempus.randomDate();
Je pense que de cette façon, il sera possible d'écrire facilement des widgets en utilisant une combinaison de jQuery+Tempus, Angular+Tempus, etc.

Pour travailler avec la date et l'heure en JavaScript, il existe un objet spécial - Date. Cet objet est pris en charge par presque toutes les versions de JavaScript et vous pouvez l'utiliser sans vous soucier des problèmes de compatibilité.

La date et l'heure dans l'objet Date ne sont pas stockées explicitement, mais comme dans la plupart des langages de programmation - comme le nombre de millisecondes écoulées depuis la naissance d'Unix, c'est-à-dire à partir de 0 heures 0 minutes le 1er janvier 1970. Une caractéristique distinctive de l'objet Date est que toutes les valeurs de plage ont des index commençant à zéro. Cela signifie que janvier aura un indice de 0 (mois #0), et décembre ne sera pas le douzième mois, mais le onzième mois. Il en va de même pour les jours de la semaine, les heures, les minutes, etc.

Créer un objet Date est très simple :

// date-heure actuelle var date = new Date(); // date-heure à partir d'une chaîne ou d'un nombre var date = new Date(date); // date-heure à partir de valeurs individuelles var date = new Date(année, mois, jour, heure, minute, seconde, milliseconde) ;

L'objet Date dispose d'un certain nombre de méthodes très utiles qui vous permettent de travailler avec des composants date-heure individuels, ainsi que de vérifier la validité et d'afficher correctement la date dans un format donné.

Méthodes de récupération des composants date-heure
getFullYear Renvoie l'année (par exemple, 2011).
obtenirAnnée Renvoie l'année. L'objectif de la méthode getYear est similaire à celui de getFullYear, cependant, cette méthode est obsolète et son utilisation n'est pas recommandée, car les résultats de ses travaux ne sont pas sans ambiguïté : pour la plage de dates de 1900 à 1999, la méthode renvoie le numéro de l'année dans le siècle (deux chiffres, par exemple 77), et pour les dates en dehors de cette plage, elle renvoie la valeur complète (quatre -chiffre, par exemple 2009).
obtenirMois Renvoie le mois.
avoir un rendez-vous Renvoie le jour du mois (jour du mois).
obtenir des heures Renvoie l'heure.
obtenir des minutes Renvoie la minute.
obtenir des secondes Renvoie la seconde.
getMillisecondes Renvoie la milliseconde.
obtenirJour Renvoie le numéro du jour de la semaine.
obtenir du temps Renvoie le décalage en millisecondes stocké par l'objet.
Méthodes de modification des composants date-heure
setFullYear Définit l'année.
setYear Définit l'année. L’objectif de la méthode setYear est similaire à celui de setFullYear, mais cette méthode est obsolète et son utilisation n’est pas recommandée (tout comme la méthode getYear).
définirMois Définit le mois.
régler la date Définit la date dans le mois (jour du mois).
setHeures Règle l'heure.
définirMinutes Règle les minutes.
setSeconds Définit la seconde.
setMillisecondes Définit la milliseconde.
régler le temps Définit le décalage en millisecondes par rapport à 00:00:00 01/01/1970
Fonctions de formatage et d'affichage de la date et de l'heure
versChaîne Renvoie une représentation sous forme de chaîne d'une date et d'une heure.
versUTCString Renvoie une représentation sous forme de chaîne de la date et de l'heure, converties en UTC. Le format de la chaîne renvoyée respecte tous les standards Internet.
versGMTString Renvoie une représentation sous forme de chaîne de la date et de l'heure, converties en GMT (Greenwich Mean Time). Le format de la chaîne renvoyée respecte tous les standards Internet.
versLocaleString Similaire à toString, mais renvoie une représentation sous forme de chaîne de la date et de l'heure, formatée en fonction des paramètres régionaux de l'utilisateur donné.
versTimeString Renvoie une représentation sous forme de chaîne de l'heure (la chaîne contient uniquement l'heure).
toDateString Renvoie une représentation sous forme de chaîne d'une date (la chaîne contient uniquement la date).
versLocaleTimeString Similaire à toTimeString, mais renvoie une représentation sous forme de chaîne de l'heure formatée en fonction des paramètres régionaux de l'utilisateur.
versLocaleDateString Similaire à toDateString, mais renvoie une représentation sous forme de chaîne de la date, formatée en fonction des paramètres régionaux de l'utilisateur.
Fonctions supplémentaires
getTimezoneOffset Renvoie le décalage de l'heure locale sur l'ordinateur de l'utilisateur par rapport à l'heure UTC. Le décalage est renvoyé en minutes.
analyser La fonction vous permet de vérifier l'exactitude de la date-heure écrite sous forme de chaîne. Si la chaîne est correcte, un objet Date sera créé immédiatement.

L'objet Date contient également un certain nombre de méthodes permettant de travailler avec les dates UTC. Ces fonctions sont complètement similaires à celles déjà évoquées, mais contiennent le préfixe « UTC » dans le nom et fonctionnent uniquement avec l'heure « universelle » : getUTCSeconds, setUTCFullYear, etc.

Regardons un exemple de travail avec des dates :

var tmp = new Date(now.getTime()); var arrNames = new Array("Aujourd'hui", "Demain", "Dans 1 an 6 mois 15 jours"); var arrNormal = nouveau tableau (); var arrLocal = nouveau tableau (); var arrUTC = nouveau tableau(); // maintenant arrLocal = tmp.toLocaleString(); arrNormal = tmp.toString(); arrUTC = tmp.toUTCString(); // demain tmp.setDate(tmp.getDate() + 1); arrLocal = tmp.toLocaleString(); arrNormal = tmp.toString(); arrUTC = tmp.toUTCString(); // dans 1 an 6 mois 15 jours tmp.setFullYear(tmp.getFullYear() + 1); tmp.setMonth(tmp.getMonth() + 6); tmp.setDate(tmp.getDate() + 15); arrLocal = tmp.toLocaleString(); arrNormal = tmp.toString(); arrUTC = tmp.toUTCString(); // affiche les résultats dans la table document.write("

" + "" + "" + "" + ""); pour (i = 0; je< 3; i++) { document.write("" + " + " + " + " + ""); ) document.write("
dateLocaliséNon localiséUTC
" + arrNoms[i] + "" + arrLocal[i] + "" + arrNormal[i] + "" + arrUTC[i] + "
");

Et voici le résultat de ce script :


Comme vous pouvez le constater, la présentation des dates diffère sensiblement selon le format utilisé. Par conséquent, lorsque vous travaillez avec la date et l'heure, vous devez respecter quelques règles simples :

1. Si possible, utilisez les formats UTC ou GMT. Ceci est particulièrement important lors de la création de solutions distribuées (par exemple, clients de systèmes de paiement). L'utilisation d'une heure de référence commune vous donnera la garantie (mais pas à cent pour cent) que vous et votre partenaire distant interpréterez les données reçues de la même manière.

2. Il est logique d'utiliser la date et l'heure localisées uniquement lors de leur affichage à l'utilisateur. Dans tous les autres cas, il vaut mieux refuser les données localisées.

3. Si vous devez quand même utiliser la date et l'heure locales, n'oubliez pas de prendre en compte le décalage de l'heure locale par rapport à celle de référence (UTC ou GMT).

Suivre ces règles vous évitera la plupart des bugs et défauts logiques, et rendra donc votre code plus stable et de meilleure qualité.

Bonne journée à tous les abonnés et lecteurs du site blog. Dans cet article, nous étudierons l'objet intégré du langage de programmation jscript – Date.

L'objet JS Date est conçu pour fonctionner avec la date et l'heure et pour convertir les chaînes au format de date. Lors de la création de la classe Date, jscript utilise le mot-clé new et l'un des trois types de constructeurs, regardons leur syntaxe générale :

Classe JS DATE - date et heure

Date() – dans ce cas, la date et l'heure actuelles du js seront affichées au format : , l'heure est définie en fonction du temps moyen de Greenwich, c'est-à-dire en utilisant UTC (UCT - Universal Coended Time).

Date (nMilliseconds) – Comme vous pouvez le voir, nous passons ici un paramètre nMilliseconds, qui spécifie la date1 en millisecondes, à compter du 1er janvier 1970.

Date (année, mois, date [, heures [, min [, sec [, ms]]]]) – Ici, nous voyons que plusieurs paramètres sont transmis au constructeur, ce qui vous permet de définir manuellement toutes les valeurs de date et d'heure js :

  • année - Année au format à quatre chiffres, par exemple 1998 (mais pas 98).
  • mois - Numéro du mois de 0 (janvier) à 11 (décembre).
  • date - Date du calendrier1 comprise entre 1 et 31.
  • heures - Heure de la journée comprise entre 0 et 23.
  • min - Minutes comprises entre 0 et 59.
  • sec – Nombre de secondes compris entre 0 et 59.
  • ms – Nombre de millisecondes compris entre 0 et 999.

Bon, regardons l'exemple suivant d'utilisation de la classe JS DATE dans un script de langage de programmation qui s'exécute sous le contrôle du serveur :

// Objet JS Date // 1_date.js //************************************ var a, b , c //Date1 et heure1 actuelles a = new Date () ; //js //Période 1000 ms après le 1er janvier 1970 b = new Date (1000 ) ; //Heure personnelle date2 c = nouvelle date (2000, 5, 20, 12, 20, 55, 97); WScript.Echo (a + "\n " + b + "\n " + c) ;

Bon, regardons maintenant les principales méthodes de la classe JS Date.

getFullYear() – Numéro de l’année en cours au format à quatre chiffres.

getDate() – Renvoie le numéro de la date actuelle (de 1 à 31).

getMonth() – Numéro du mois actuel (de 1 à 12).

getDay() - Numéro du jour de la semaine (0 pour dimanche, 1 pour lundi, etc.).

getHours() – Nombre d'heures (le comptage commence à partir de minuit).

getMinutes() - Renvoie le nombre de minutes (en comptant à partir du début de l'heure).

getSeconds() - Nombre de secondes (en comptant à partir du début de la minute).

getMilliseconds() - Nombre de millisecondes.

Jetons un coup d'œil à l'exemple de script suivant qui montre comment utiliser les méthodes de classe Date décrites ci-dessus :

//******************************** // Objet JS Date // 2_date.js //** ** ****************************** var js_new_date = nouvelle Date ; //js var gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds, MyArr, index, list= "" ; gFullYear = "Année\t\t " + js_new_date.getFullYear () ; gDate = "Date\t\t " + js_new_date.getDate(); gMonth = "Mois\t\t" + js_new_date.getMonth(); gDay = "Jour de la semaine\t \t " + js_new_date.getDay () ; gHours = "Heures\t \t " + js_new_date.getHours () ; gMinutes = "Minutes\t\t" + js_new_date.getMinutes(); gSeconds = "Secondes\t\t " + js_new_date.getSeconds(); gMilliseconds = "Millisecondes\t\t " + js_new_date.getMilliseconds(); //Enregistrez tout dans le tableau MyArr = [ gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds] pour (var index dans my_arr) ( list+= MyArr[ index] + "\n "

On voit qu'ici nous avons déclaré un certain nombre de variables jscript qui stockent les valeurs renvoyées par les fonctions de la classe Date() du langage JS, puis nous avons enregistré toutes les variables dans le tableau MyArr (une description détaillée des tableaux est dans l'article " "), l'accès à celui-ci s'effectue via la boucle for in (j'ai décrit ce cycle dans l'article " "). À la toute fin, nous imprimons une liste de valeurs pour toutes les variables.

getTime() – Le nombre de millisecondes écoulées depuis le 1er janvier 1970. Il est idéal pour calculer le temps d’exécution d’un bloc de code.

//******************************** // date js // méthode GetTime() // 3_date.js / /********************************* var to_time, end_time, time_elapsed, summ= 0 ; //Début to_time = (new Date () ) .getTime () ; pour (var je= 0 ; je

À mon avis, cela ne pourrait pas être plus simple, assez beau et compréhensible. Si vous n'avez pas envie d'étudier la construction de ce script, collez-le simplement n'importe où sur la page HTML et obtenez l'inscription suivante :

Une autre option plus avancée

//
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
! Aujourd'hui
// + " " + d.getFullYear() + " g.");
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>

Cela ressemble à ceci :

Aujourd'hui

En général, aucune compétence n'est requise, il suffit d'insérer bêtement le code et tout va bien !

Plus de détails:

Ainsi, nous commençons par attribuer la valeur de date à la variable d, puis créons des tableaux (Array) pour les jours de la semaine (jour) et les mois (mois), en les spécifiant sous la forme grammaticale nécessaire : casse, chiffre, majuscule si le le mot apparaît au début de la date, etc. .P. La dernière ligne du script est la date d'impression réelle (document.write). Ici, vous définissez quoi et dans quel ordre vous afficherez dans la ligne de date actuelle. Les composants sont séparés les uns des autres par un signe +. Pour saisir un espace, utilisez la construction " ", et pour saisir la lettre g (année) utilisez la construction " g ".

Comme vous pouvez le voir dans le script, l'obtention de données sur l'heure actuelle est effectuée par l'élément get. Cette méthode vous permet d'obtenir les informations suivantes :

  • getDate() - renvoie un nombre de 1 à 31 représentant le jour du mois ;
  • getDay() - renvoie le jour de la semaine sous forme d'entier compris entre 0 (dimanche) et 6 (samedi) ;
  • getMonth() - renvoie le numéro du mois dans l'année ;
  • getFullYear() - renvoie l'année. Si vous utilisez simplement getYear() , l’année en cours moins 1900 sera affichée ;
  • get Hours() - renvoie l'heure de la journée ;
  • getMinutes() - renvoie les minutes sous forme de nombre compris entre 0 et 59 ;
  • getSeconds() - renvoie le nombre de secondes de 0 à 59.

Il n’est pas toujours pratique d’insérer un script Java directement dans une page d’un site Web. Il est préférable de placer la description du script en début de page entre les balises et de définir une variable que nous appellerons selon les besoins dans le texte. Appelons-le AUJOURD'HUI et définissons-y le formulaire de sortie de date similaire à celui ci-dessus. Le script ressemblera à ceci :


Pour afficher la date, appelez le script à l'endroit souhaité dans le code HTML de la page à l'aide de la commande suivante :


document.write(AUJOURD'HUI);

Si votre site contient de nombreuses pages sur lesquelles vous devez afficher la date, il est alors plus pratique de séparer le script Java d'affichage de la date dans un fichier séparé, par exemple data.js. En pratique, il s'agit d'une page constituée du premier des scripts décrits, c'est-à-dire avec la ligne document.write (voir ci-dessus). Elle doit être située dans le même répertoire que la page principale, et appelée à l'endroit où la date est affichée comme suit :


N'oubliez pas de vérifier que le fichier data.js a le même encodage que le document principal, sinon la date sera affichée avec de merveilleux crochets, carrés et autres astuces.

Commentaire. Il convient de garder à l’esprit que le script décrit affiche la date définie sur l’ordinateur de l’utilisateur, qui ne correspond pas toujours à l’heure réelle. Si vous devez afficher l'heure exacte, vous devez utiliser un script PHP qui affichera l'heure sur le serveur.

gastrogourou 2017