Contacts

Heure javascript en millisecondes. JavaScript Obtenez l'heure et la date actuelles. Méthodes d'obtention des composants individuels de l'objet de date

La date et l'heure font partie de notre vie quotidienne et occupent donc une place importante dans la programmation. En JavaScript, lors de la création d'un site Web, vous devrez peut-être ajouter un calendrier, un calendrier de train ou une interface pour planifier des réunions. Ces applications doivent indiquer le point de temps approprié en fonction du fuseau horaire actuel de l'utilisateur ou de réaliser des calculs liés à l'arrivée et à la sortie de l'aéronef ou de l'heure de début et de fin de tout événement. De plus, vous devrez peut-être utiliser JavaScript pour envoyer des rapports quotidiens à une certaine heure ou pour le filtrage (par exemple, pour rechercher des restaurants à temps ouvert).

Date d'objet.

La date est l'objet JavaScript intégré, qui stocke la date et l'heure. Il fournit un certain nombre de méthodes intégrées de mise en forme et de gestion de ces données.

Par défaut, la nouvelle instance de date sans arguments crée un objet avec la date et l'heure actuelles conformément aux paramètres système de l'ordinateur actuel.

Par exemple, essayez d'attribuer la variable de date actuelle. Créer un fichier maintenant.js.

// Définir la variable à la date et à l'heure actuelle
Const maintenant \u003d nouvelle date ();
// Voir la sortie
À présent;
Mer le 15 oct. 2017 12:41:34 GMT + 0000 (UTC)

La sortie est une chaîne avec la date contenant les données suivantes:

La date et l'heure sont cassées et affichées par la perception.

Toutefois, JavaScript perçoit la date basée sur le timbre de l'UNIX-Time, qui est une valeur constituée du nombre de millisecondes qui se sont écoulées depuis minuit le 1er janvier 1970. Vous pouvez obtenir un horodatage à l'aide de la méthode GetTime ().

// obtenir l'horodatage actuel
maintenant.gettime ();
1508330494000

Un grand nombre qui apparaît dans la sortie en tant que horodatage actuel est le nombre de millisecondes qui se sont écoulés depuis minuit le 1er janvier 1970 le 18 octobre 2017.

Zéro Time (ou Epoch Heure) est représenté par la date de date 01 janvier, 1970 00:00:00 Temps universel (UTC) et un horodatage 0. Vous pouvez le vérifier dans le navigateur en créant une nouvelle variable dans le fichier epoch.js et l'affectation d'une nouvelle instance de date. Basé sur l'heure 0.

// attribue l'horodatage 0 à une nouvelle variable
Const epochtime \u003d nouvelle date (0);
Épochtime;
01 janvier 1970 00:00:00 Temps universel (UTC)

Le temps de zéro a été sélectionné comme une norme pour mesurer le temps avec des ordinateurs et cette méthode est utilisée dans JavaScript. Il est important de comprendre des étiquettes temporaires et des lignes de dates, car ces concepts peuvent être utilisés en fonction des paramètres et des objectifs de l'application.

Vous savez maintenant comment créer une nouvelle instance de date basée sur l'heure actuelle et basée sur la balise horaire. Un total de quatre formats de date en JavaScript. En plus de l'heure actuelle, l'étiquette par défaut et temporaire peut également être utilisée une chaîne de dates ou spécifier une date et une heure spécifiques.

Pour démontrer diverses façons de liens vers une date précise, essayez de créer de nouveaux objets de date, qui seront représentés le 4 juillet 1776 à 12h30 à Greenwich de trois manières différentes.

// méthode horodatage.
Nouvelle date (-6106015800000);
// Méthode de chaîne de date
Nouvelle date ("31 janvier 1980 12:30");
// Méthode date et heure
Nouvelle date (1776, 6, 4, 12, 30, 0, 0, 0);

Tous ces exemples représentent les mêmes informations sur la date et l'heure de trois manières différentes.

Comme vous pouvez le constater, la méthode d'étiquette temporaire a un nombre négatif; Toute date à zéro sera présentée comme un nombre négatif.

Dans le troisième exemple d'une seconde et de millisecondes, 0. Si vous ne disposez pas de suffisamment de données lors de la création de l'objet de date, vous devez leur affecter 0. Les données manquantes ne peuvent pas être SKIDD, car les données de temps de la chaîne ne peuvent pas monnaie. Il convient également de noter que le mois de juillet ici est indiqué comme 6, et non 7. C'est parce que le comptage ne commence pas à 1, mais de 0. plus à ce sujet - dans la section suivante.

Supprimer la date à l'aide d'obtenir

Avoir une date, vous pouvez accéder à tous ses composants en utilisant diverses méthodes intégrées. Les méthodes renvoient chaque partie de la date relative au fuseau horaire local. Chacune de ces méthodes commence par obtenir et renvoie un numéro relatif. Vous trouverez ci-dessous une table détaillée d'obtenir des méthodes pour l'objet de date.

Heure Méthode Varier Exemple
An getainary () Yyyy. 1970
Mois getMonth () 0-11 0 \u003d janvier.
Jour du mois avoir un rendez-vous () 1-31 1 \u003d 1er du mois
Jour de la semaine getdry () 0-6 0 \u003d dimanche.
Heure gethours () 0-23 0 \u003d minuit
Minute getminutes () 0-59
Deuxième getseconds () 0-59
Milliseconde getmilliseconds () 0-999
Étiquette temporaire obtenir du temps ()

// initialiser un nouvel instance d'anniversaire
Const anniversaire \u003d nouvelle date (1980, 6, 31);

Vous pouvez maintenant utiliser toutes les méthodes pour extraire chaque composant de date.

anniversaire.Gutiquement anniversaire (); // 1980.
Anniversaire.getmonth (); // 6.
Anniversaire.getdate (); // 31.
Anniversaire.geday (); // quatre
Anniversaire.Gethours (); // 0.
Anniversaire.getminutes (); // 0.
Anniversaire.getseconds (); // 0.
Anniversaire.getmilliseconds (); // 0.
Anniversaire.gettime (); // 333849600000 (pour GMT)

Parfois, il est nécessaire d'extraire une partie de la date, et les méthodes intégrées d'obtenir vous aideront avec elle.

Par exemple, vous pouvez comparer la date actuelle avec la date du 3 octobre pour savoir, 3 octobre maintenant ou non.

// obtenir la date d'aujourd'hui
Const aujourd'hui \u003d nouvelle date ();
// comparer aujourd'hui avec le 3 octobre
Si (aujourd'hui.getdated () \u003d\u003d\u003d 3 && aujourd'hui.getMonth () \u003d\u003d\u003d 9) (
Console.log ("il" le 3 octobre. ");
) AUTRE (
Console.log ("ce n'est pas le 3 octobre.");
}
Ce n'est pas le 3 octobre.

Les méthodes intégrées d'obtention permettent d'accéder aux composants de la date.

Changer la date avec SET

Pour toutes les méthodes Obtenir la liste ci-dessus, il existe une méthode de jeu appropriée. Si le get est utilisé pour extraire une composante de date spécifique, le jeu est utilisé pour modifier ces composants. Vous trouverez ci-dessous une table détaillée des méthodes définies pour l'objet de date.

Heure Méthode Varier Exemple
An sURVELOWAR () Yyyy. 1970
Mois setmonth () 0-11 0 \u003d janvier.
Jour du mois rÉGLER LA DATE () 1-31 1 \u003d 1er du mois
Jour de la semaine séchée () 0-6 0 \u003d dimanche.
Heure sethours () 0-23 0 \u003d minuit
Minute seminutes () 0-59
Deuxième setseconds () 0-59
Milliseconde setmilliseconds () 0-999
Étiquette temporaire régler le temps () Nombre de millisecondes de zéro heure

Ces méthodes définies peuvent être utilisées pour modifier une ou plusieurs composants de la date. Par exemple, vous pouvez changer l'année dans la variable d'anniversaire de 1997.

// change année de la date d'anniversaire
Anniversaire.SetrefultiveAnar (1997);
Date d'anniversaire;
JUL JUL 31 1997 00:00:00 GMT + 0000 (UTC)

Maintenant, lorsque vous appelez un anniversaire de variable, vous ne voyez pas 1980 et 1997.

Les méthodes de jeu intégrées vous permettent de modifier différentes parties de l'objet de date.

Méthodes UTC

Les méthodes d'obtention décrits ci-dessus récupèrent les composants de la date en fonction des paramètres de zone utilisateur locale. Pour augmenter le contrôle des dates et du temps, vous pouvez utiliser les méthodes getutc qui fonctionnent de la même manière que d'obtenir des méthodes, mais calculent le temps en fonction de la norme UTC (heure coordonnée mondiale). Vous trouverez ci-dessous la table de méthode UTC pour l'objet de date dans JavaScript.

Heure Méthode Varier Exemple
An getutCullyear () Yyyy. 1970
Mois getutcminth () 0-11 0 \u003d janvier.
Jour du mois getutcdate () 1-31 1 \u003d 1er du mois
Jour de la semaine getutcday () 0-6 0 \u003d dimanche.
Heure usertus () 0-23 0 \u003d minuit
Minute getutcminutes () 0-59
Deuxième getutcseconds () 0-59
Milliseconde getutcmillisecondes () 0-999

Pour vérifier la différence entre les méthodes d'obtention locale et les méthodes Get UTC, démarrez le code suivant.

// Attribuez l'heure actuelle à une variable
Const maintenant \u003d nouvelle date ();
// Imprimer Timezones locaux et UTC
Console.log (maintenant.Gethours ());
Console.log (maintenant.getTutchTours ());

Ce code affiche l'heure et l'heure actuelles sur le fuseau horaire UTC. Si vous êtes maintenant dans le fuseau horaire UTC, les chiffres du programme seront les mêmes.

UTC fournit une norme de temps internationale et peut donc soutenir le code conformément aux zones de temps si nécessaire dans votre programme.

Conclusion

Dans ce manuel, vous avez appris à créer une instance de l'objet de date, à utiliser ses méthodes intégrées d'accès et de modification des composants d'une date spécifique. Plus d'informations sur l'heure et la date dans JavaScript vous pouvez trouver sur Mozilla Developer Network.

La capacité de travailler avec des dates est importante pour de nombreuses tâches communes dans JavaScript: de créer des rapports réguliers avant d'afficher des dates et des horaires dans le bon fuseau horaire.

Mots clés:

Bonjour à tous!
Je dois souvent travailler avec des données statistiques et il est très lié aux dates. De plus, une et la même date peuvent être utilisées sur une page sous différents formats (par exemple, dans une machine pratique et dans une personne pratique). Je pense que la plupart d'entre vous représentent parfaitement tout ce code terrifiant obtenu lors de l'utilisation de l'objet de date.
Par exemple, pour obtenir la date actuelle au format dd.mm.ygyy. Nous devrons procéder comme suit:
var d \u003d nouvelle date (), fd \u003d d.getdate () + "." + (d.getmonth () + 1) + "." + d.gedicalcyear ();
Et quand de telles cordes deviennent beaucoup? Est-il facile de mentionner que dans JavaScript un mois commence à partir de zéro lorsque vous développez non seulement dessus? Ou de quoi existe-t-il des millisecondes, et pas une seconde, à quel point le backend est-il presque partout sur le backend? Vous pouvez résoudre une partie des tâches du moment de la bibliothèque populaire.js, mais cela fonctionne très lentement.
La bibliothèque à l'étude résoue ces problèmes.
Si je me demande, je vous suggère de lire cette petite critique.

Tempusjs se compose en grande partie de sucre de syntaxe sur l'objet de date, de sorte que cela fonctionne très rapidement. La syntaxe de la bibliothèque elle-même est très simple. Par exemple, écrivez l'exemple précédent, vous pouvez:
var fd \u003d tempus (). Format ("% d.% m.% y");
Maintenant sur la vitesse. Dans le spoiler, vous pouvez voir la comparaison tempus avec le moment et la méthode de formatage de la date natale (voir ci-dessus):

Comparaison des JS natifs, Momentjs et Tempusjs

Nous obtenons la date actuelle
Native JS X 2 175 575 OPS / SEC ± 0,75% (échantillon de 96 ± 0,75%) X 284 864 OPS / SEC ± 0,85% (échantillon d'exécution 96) Tempus x 2 086 081 ops / sec ± 0,73% (échantillon de 97 points)
Mise en page
JS X 1 637 517 OPS / SEC ± 0,61% (échantillon de 100 rouages) X 8.808 OPS / SEC ± 1,07% (échantillon de 100 rouages) Tempus x 942,815 OPS / SEC ± 0,68% (échantillon de 94 points)
Détection automatique de la date et de l'analyse
JS JS X 11 204 316 OPS / SEC ± 0,81% (88 EXPULIERS SAMPLE) X 38.511 OPS / SEC ± 1,41% (échantillon d'exécution 95) TEMPUS X 93 973 OPS / SEC ± 1,06% (85 Exécutions d'échantillons)
Date d'analyse au format
Moment x 46 293 OPS / SEC ± 0,63% (échantillon de 100 exécutions) TEMPUS X 109.947 OPS / SEC ± 0,93% (échantillon de 99 points)
Analyse et validation
Moment x 44 588 OPS / SEC ± 1,09% (échantillon de 90 ± 1,09%) TEMPUS X 103.439 OPS / SEC ± 0,90% (échantillon de 94 points)
Les résultats ont été obtenus sur mon ordinateur portable dans Google Chrome 30.0.1599.114. Dans d'autres navigateurs, les résultats diffèrent, mais le ratio reste à peu près la même chose.
Pour les tests d'occasion Bibliothèque Benchmark.js
Benchmark sur d'autres fonctions, vous pouvez voir.

Donc, dans les avantages de cette bibliothèque, vous pouvez enregistrer ce qui suit:

  • Prend en charge IE6 +, Chrome, Firefox, Opera;
  • Soutient les chaînes d'appels;
  • Mois peuvent commencer par 1 (par défaut), pas zéro;
  • Les millisecondes peuvent être désactivées (par défaut) ou incluses;
  • Travail rapide (comme dans de nombreux cas, l'objet de date est utilisé comme navigateur, dont la mise en œuvre est écrite dans des langues plus rapides);
  • Prend en charge les formats et les plugins personnalisés
  • La validation de la date est très rapide et dépend uniquement de la date de réglage des fonctions (car la validation est déjà sous les valeurs améliorant et non calculée séparément);
  • Définition multilingue et automatique de la langue utilisateur.

Ici, ce ne sera que sur certaines fonctions.

Formatage et colis

Donc, pour commencer un autre exemple du formatage de la date. Ici, nous utilisons également des défis de la chaîne. À la fin de chaque réglage, nous obtenons un objet tempusdate, qui peut être utilisé plus loin dans la chaîne. Exemple:
Tempus (). // Obtenez une nouvelle date CALC ((mois: -1)). // le réduire au format d'un mois ("% d.% M.% Y"); // affichage sous la forme d'une chaîne
Ainsi, nous aurons le même jour, une heure et une seconde, mais il y a un mois. Ceci est utile pour les rapports du mois dernier.

L'exemple suivant est l'étalage des dates.
// renvoie la date "2013-11-18" TEMPUS ("18.11.2013"); // renvoie l'objet tempusdate avec la date "2013-12-12" TEMPUS ("2013-12-12", "% y-% m-% d"));
Tempus peut automatiquement déterminer certains formats connus. De plus, vous pouvez spécifier un format spécifique, puis le colis se produira plus rapidement. De plus, vous pouvez spécifier la date qui sera renvoyée si l'analyse échoue:
// t.k. "123" ne convient pas au format "% d.% M.% Y", puis // L'objet contenant le tempus de date 2013-01-01 sera renvoyé ("123", "% d.% M.% Y ", Tempus ());
La liste des formats par défaut peut être visualisée.

Et changer maintenant le format de la date déjà formatée
// "2013-11-05" tempus ("05.11.2013"). Format ("% Y-% M-% D"); // ou donc // "Octobre, 12" Tempus ("2013-10-12 12:31:01", "% y-% m-% d% h:% m:% s"). format ("%% B,% d ");

En outre, vous pouvez utiliser la localisation pour le formatage. Par défaut, la langue de l'utilisateur sera sélectionnée (prise du navigateur) ou une langue par défaut si la langue d'utilisateur n'est pas détectée parmi les langues de tempus disponibles.
// installer la langue tempus.lang ("ru"); // Utiliser normalement le format // "Novembre, 05" Tempus (1383609600) .Format ("% B,% D");
Pour le moment, les langues ne sont que deux - russe et anglais, alors je serai heureux d'aider.

Validation

La validation de la date se produit comme suit:
// retourne faux tempus ("32.08.2013", "% d.% M.% y"). Valable (); // conserver le vrai tempus ("00:00 01.01.2012", "% h:% m% d.% M.% Y"). Valable ();

En cas d'erreur, vous pouvez voir les champs dans lesquels il est originaire - partout où la valeur n'est pas fausse:
// retour ("année": - 5, "mois": faux, "jour": faux, "heures": faux, // "minutes": false, "secondes": false, "millisecondes": faux) tempus (). Année (-5). // définit l'année \u003d -5, c'est-à-dire Erreurs Nevalid (); // Obtenir un objet avec des erreurs

Gammes dat

Parfois, nous devons avoir le nombre d'années (par exemple, l'âge), des mois, des jours, etc. entre deux dates. Pour ce faire, nous pouvons utiliser la méthode entre la différence entre deux dates et des retours dans le format souhaité ("année", "mois", "jour", "heures", "minutes", "secondes", "secondes", " Millisecondes ").
Voici un exemple simple d'obtention du nombre de mois entre le 1er novembre 2013 et le 5 mai 2014:
// retournera 6 tempus (). entre (tempus (), "mois");
Ou combien d'heures à partir de la nouvelle année
Tempus (). Entre (Tempus (), "Heures");
Dans le dernier exemple, vous pouvez voir que je n'ai signalé que l'année. Lors du réglage de la valeur avec un tableau ou un objet, le manque de valeurs sera
rempli de minimum. Liste des constantes avec des valeurs minimes, vous pouvez voir dans la documentation.

De plus, nous pouvons modifier n'importe quelle date à l'aide de la fonction CALC:
// retour tempusdate avec la date 2012-01-01 Tempus (). Calc ((année: 1, mois: -4, jour: -1));

Ses formats

Nous utilisons votre format pendant un mois, qui peut prendre des valeurs de 1 à 12 (et non de 01 à 12):
// Nous enregistrons un nouveau format tempus.registerFormat ("% q", // la fonction de directive -% q (date) (// indique la fonction de formatage, c'est-à-dire ce qui sera substitué au lieu de% q retour de date.month (); ), Fonction (valeur) (// et ici la fonction Var V \u003d numéro d'analyse; retour (mois: (isnan (v)? Indéfini: v));), une longueur minimale, qui est 2, // Longueur maximale "Numéro" // Type); // test // retourne "01.1.2013"; Tempus ((année: 2013, mois: 1, jour: 1)). Format ("% d.% Q.% Y"); // conserver ("an": 2013, "mois": 2, "jour": 10, "heures": 0, "minutes": 0, "secondes": 0); Tempus ("10.2.2013", "% d.% Q.% y"). Obtenez ();
Lors de votre inscription, vous pouvez voir que certains paramètres sont spécifiés séparément, tandis que l'expression régulière pourrait être utilisée. En fait, c'était à l'origine c'était à l'origine, mais après le refus de celui-ci, la vitesse a augmenté de quelques douzaines de temps.
Si vous devez supprimer un certain format, utilisez UnregisterFormat:
Tempus.unregisterFormat ("% d"); // retour "% D.01.2013", car La directive% d n'existe plus. Tempus.format (((année: 2013, mois: 1, jour: 1), "% d.% M.% Y");

Getter / setters

Vous pouvez recevoir / définir certaines valeurs à l'aide des fonctions de l'année (), du mois (), de la journée (), des hôtes (), des minutes (), des secondes (), millisecondes (), Dayofweek (), UTC (), horodatage () ou défini (). Par example:
Tempus (). // Obtenez l'année actuelle de la date (1900). // Tout laisser comme c'est le cas, mais nous installons 1900 Leapear (); // vérification si cette année est une année, dans ce cas faux tempus (). Année (); // et donc nous obtenons l'année en cours sous la forme numérique

Generation DAT.

Vous pouvez générer une date avec une multitude de manières, une liste complète des paramètres est dans la documentation. Voici un exemple minimum.
// retourne ["03/29/2013", "03/31/2013", "04/02/2013"]; Tempus.Generate ((DateDrrom: "20130329", Formato: "% y.% M.% D", DateTo: "20130402", période: (jour: 1), format: "% d.% M.% M.% Y"% ));
Il peut être utile pour afficher des graphiques par date et modifier le format d'affichage directement sur le client, sans les demandes au backend. La date peut être générée comme une matrice, ainsi que des objets où les dates elles-mêmes sont telles que des clés (ceci est utile lorsque nous devons lier tout événement à une date, par exemple lorsque nous effectuons votre calendrier). De plus, les dates peuvent être regroupées par jour, semaines, mois, heures, années - pour quoi que ce soit. Il peut également être appliqué au calendrier.

Plugins

Eh bien, les derniers plugins. Ici, nous étendons l'usine pour générer une date aléatoire. En outre, nous aurons besoin d'une classe tempusdate, on peut trouver dans Tempus.classes (). Voici un exemple de plugin:
(Tempusdate \u003d tempus.classes ("Tempusdate"); Tempus.randomdate \u003d Fonction () (Var Date \u003d Nouveau Tempusdate (); date.Year (math.floor ((Math.Random () * (tempus.max_year - TEMPUS. min_year)) + tempus.min_year)). mois (math.floor ((Math.Random () * (Tempus.max_month - Tempus.min_monteh)) + Tempus.min_month))). Journée (maths. (Math.Random () * (date.daycount () - tempus.min_day)) + tempus.min_day)). Heures (Math.Floor ((Math.Random () * (Tempus.main_hours - Tempus.min_hours)) + Tempus.min_hours) ). MINUTES (MATH.FLOOR (((MATH.RANDOM () * (TEMPUS.MAIN_MINUtes)) + TEMPUS.MIN_MINUtes)). Secondes (maths.floor ((Math.Random () * (TEMPUS.MAX_SECONDS) ) + tempus.min_seconds)); date de retour;););) (TEMPUS); // Maintenant, nous pouvons créer les dates comme suit Var Somerandomdate \u003d tempus.randomdate ();
Je pense que cela sera de cette façon commode d'écrire des widgets à l'aide d'une tempus JQuery +, angulaire + tempus, etc. 7 décembre 2014 à 12h30

Problèmes de date et d'heure dans JS

  • Javascript.

Un programmeur rare s'effectue pour éviter de travailler avec la date et l'heure. En général, la date / heure est un concept de base et dans la majeure partie des langues, il existe des mécanismes intégrés pour travailler avec ce type de données. Il semblerait que JS ne soit pas une exception, il existe une date de type intégrée, il y a un tas de fonctions dans le prototype, cependant ...

Qui est coupable
Le premier problème se produit lorsque vous devez définir la date / heure dans le fuseau horaire autre que UTC et de la section locale. Le concepteur de date n'a pas de paramètre tel.

Nouvelle date (); Nouvelle date (valeur); Nouvelle date (dilstring); Nouvelle date (année, mois [, jour [, heure [, minute [, deuxième [, milliseconde]]]]]]];
La seule option où vous pouvez spécifier le décalage par rapport à l'UTC - la troisième méthode. L'appel du constructeur de ce format vous permet de transférer le décalage dans le cadre de la ligne:

Nouvelle date ("Sun février 01 1998 00h00:00:00 GMT + 0700")
La ligne est acceptée au format RFC2822, très inconfortable et difficile à entrer manuellement. Il est presque impossible d'obtenir une telle chaîne de la saisie de l'utilisateur. Je ne peux pas imaginer une personne qui a accepté de saisir la date dans un tel format.

Malgré le fait que, à la date, vous pouvez définir tous les paramètres séparément pour les temps UTC - les problèmes ne résout pas - le fuseau horaire restera local. Mais ce n'est pas le seul problème.

Le décalage par rapport à l'UTC n'est pas une constante. Ceci est une fonction d'une date, d'une heure (bien ou de Timesshampa, si vous voulez s'il vous plaît) et encore, le fuseau horaire. Par exemple, pour Moscou, le transfert de la dernière fois donne:

Nouvelle date (2014, 9, 25, 0, 0, 0); // 26.10.2014, 21:00:00 GMT + 3 nouvelle date (2014, 9, 27, 0, 0, 0); // 25.10.2014, 22:00:00 GMT + 4
Ainsi, le concepteur de la troisième version devient presque inutile car le décalage doit être connu à l'avance. Et cela, comme on l'a dit, donc simplement reçu pour être. La seule bibliothèque, depuis que j'ai obtenu, qui utilise la base de données Olson pour le changement des changements - TimeZone-JS. Le problème de l'utilisation de cette bibliothèque est que les bibliothèques souterraines (sélections de date / heure) ne connaissent rien et utilisent avec insistance la date standard à l'intérieur. Les bibliothèques restantes qui travaillant avec l'objet Date ne font clairement pas référence à cette base de données et les mises à jour ne reçoivent pas de celui-ci. (Corrigez-moi dans les commentaires.)

L'activité de l'utilisation du fuseau horaire n'a de sens que si la date et l'heure sont spécifiées. Par exemple, si la journée de travail commence à 9h00, il est peu probable que vous vous attendiez à ce que votre collègue de Vladivostok commence à travailler à 15h00. Les Timesons ne doivent pas être pris en compte et dans ce cas, vous devez afficher la date dans UTC. Cependant, dans le cas d'événements réguliers se produisant à un moment donné dans différentes fuseaux horaires, l'orthone est toujours nécessaire. Par exemple, votre cicatrice quotidienne commence à 10h00 pour vous et à 13h00 pour Novosibirsk. Au fait, c'est exactement la différence entre GMT et UTC. UTC est le temps sans décalage et GMT est le temps avec le déplacement 0. Je vais expliquer sur l'exemple:

12/31/2014, 20:59:59 GMT dans le fuseau horaire de Moscou devrait ressembler au 12/31/2014, 23:59:59 12.12.2014, 20:59:59 UTC dans le fuseau horaire de Moscou devrait ressembler à 12/31/2014, 20:59: 59.
En raison de cette arithmétique, ils sont principalement confus. Malheureusement, habité avec ce paramètre partout. L'absence d'indication directe de la Temporisation dans JS est interprétée comme un fuseau horaire local et l'instruction de l'UTC et du GMT est équivalente.

Dans une situation, je pourrais aider l'INTL. Pourrait, mais pas obligé. En particulier, il existe un tel fuseau horaire de paramètres, mais un peu plus loin, la norme définit: le fuseau horaire à utiliser. La seule mise en œuvre de la valeur doit reconnaître est "UTC". Actuellement, en plus de Chrome, pas un navigateur Timezones arbitraires ne prend pas en charge.
Avec des bandes de temps dans JS, tout est complètement mauvais - il n'y a rien de tel dans la langue. Veux bien faire - faire moi-même.

Que faire
  • Option 1.
    N'utilisez pas de Timson arbitraire. L'option est préférable et probablement la plus indolore. C'est-à-dire que vous n'avez que local Timeson et UTC. Pour ces cas dans tous les navigateurs, il semble que tout soit, même si cela n'est pas très pratique. De plus, Timeson est défini dans le monde entier pour le système d'exploitation et le modifier pour une application Web spécifique est nootherly.
  • Option 2.
    Si des temps arbitraires sont nécessaires - ne pas utiliser horodatage. Du tout. Temps de stockage dans la commande d'épargne dans la chaîne RFC indiquant les fuseaux vitrines. Je ne sais pas que cela aidera à vaincre les changements de minuterie dans une compréhension du navigateur croisé, mais au moins chromé sur de tels changements dans le sais.
  • Option 3.
    Il existe différentes situations et il arrive qu'au temps de la base de données est enregistré avec n'importe quel appareil. C'est-à-dire sous la forme de TIMESTAMPA. Il n'y a pas de place à exécuter ici qui afficherait correctement le temps dont vous avez besoin de connaître un fusil de l'appareil, ou un Thaimon de l'utilisateur, ou des deux d'autre et d'identifier tous les quarts de travail. Sans utiliser la base d'Olon, ne faites pas ici.
  • Il doit y avoir une moralité de cette fable, mais il n'ya rien de plus pour m'ajouter. Dans le brouillon de la norme de l'ECMA, je n'observe aucun progrès, vous ne le ferez probablement pas.

Une autre chose utile pour les sites est l'insertion de la date actuelle. Des exemples de scripts dates peuvent être trouvés sur Internet des dizaines, mais beaucoup d'entre eux, à mon avis, sont lourds et, donc, laids. En attendant d'utiliser des outils standard Javascript., Insérez la date sur la page du site peut être très simple. Je l'applique souvent souvent! Sur la photo (capture d'écran du site d'exploitation) manoir "conte de fées" !

Voici tout le script de date:

À mon avis, il est plus facile de nulle part, assez beau et compréhensible. Si vous n'avez pas le désir d'étudier la construction de ce script, insérez-le simplement dans n'importe quel lieu de la page HTML et obtenez l'inscription suivante:

Une autre option plus avancée


! Aujourd'hui

Il ressemble à ceci:

Aujourd'hui

En général, aucune compétence n'est requise, tout simplement insérez le code et tout va bien!

Lire la suite:

Donc, commencez par l'affectation de la valeur de date de la variable rÉ., puis créez des tableaux ( Déployer.) Pour les jours de la semaine ( jour.) et mois ( mOIS.), les indiquant dans la forme grammaticale nécessaire: le cas, le nombre, la lettre de titre, si le mot est au début de la date, etc. La dernière ligne du script imprime en réalité la date ( document.write.). Ici, vous installez que dans quelle séquence sera affichée dans la ligne de la date actuelle. Les composants sont séparés les uns des autres. + . La construction est utilisée pour entrer dans un espace " " et pour entrer la lettre G (année) - Conception "G."

Comme on peut le voir sur le script, recevoir des données sur le temps de courant effectue l'élément obtenir.. Cette méthode vous permet d'obtenir les informations suivantes:

  • avoir un rendez-vous () - renvoie le nombre de 1 à 31, représentant le nombre de mois;
  • getdry () - retourne le jour de la semaine en tant qu'intéger de 0 (dimanche) à 6 (samedi);
  • getMonth () - retourne le nombre de mois par an;
  • getainary () - retourne l'année. Si vous utilisez simple getYear ()Ensuite, l'année en cours sera produite moins 1900;
  • obtenir des heures () - retourne une heure de jour;
  • getminutes () - retourne des moments comme un nombre de 0 à 59;
  • getseconds () - Renvoie le nombre de secondes de 0 à 59.

Insérer directement Java.Le script à l'intérieur du site du site n'est pas toujours pratique. Il est préférable de mettre une description du script en haut de la page entre les balises Et définir la variable que nous appellerons si nécessaire dans le texte. Appelons ça Aujourd'hui. Et nous définissons la forme de sortie de manière similaire à ce qui précède. Le script ressemblera à ceci:

Pour afficher la date, appelez le script au bon endroit de la page HTML de la page en utilisant la commande suivante:

Si votre site contient de nombreuses pages sur lesquelles vous souhaitez montrer la date, il est plus pratique d'allouer Java.Dates de sortie de script dans un fichier séparé, par exemple, data.js.. Pratiquement, il s'agit d'une page composée du premier des scripts décrits, c'est-à-dire avec une chaîne document.write. (voir au dessus). Il est nécessaire de le faire dans le même répertoire que la page principale et de la date à laquelle la date de sortie est la suivante:

N'oubliez pas de vérifier le fichier data.js. Il avait le même codage que le document principal, sinon la date sera supprimée avec des crochets merveilleux, des carrés et d'autres Fintyphushki.

Commenter. 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 actuelle réelle. Si vous devez afficher l'heure exacte, vous devez utiliser le script PNP qui affichera l'heure sur le serveur.

Obtenez la date actuelle en JavaScript est très simple. À cette fin, l'objet de date est destiné. Sa syntaxe est assez simple et les noms des méthodes compréhensibles de manière intuitive. Dans les exemples ci-dessous, je vais montrer comment travailler avec l'objet de date ( JavaScript nouvelle date.) Pour obtenir l'année dernière, le mois, la journée et l'heure avec une précision de millisecond!

Recevoir date actuelle:

Pour obtenir la date actuelle en JavaScript, utilisez le nouveau mot-clé pour créer une nouvelle instance de l'objet de date.

var Date \u003d nouvelle date (); Console.log (date);

Ce code affiche les informations suivantes à la console:

// heure février 02 2016 15:46:56 GMT-0500 (heure normale de l'Est)

Il affiche le jour actuel de la semaine, le mois actuel, le jour du mois, l'année et même l'heure actuelle au format de 24 heures. Fragment " GMT."Signifie temps greenwich et" -0500 «C'est la différence de fuseaux horaires entre l'heure locale et le GMT.

Devis de Wikipedia: "Le temps moyen de Greenwich ( GMT.) - C'est un temps ensoleillé secondaire dans l'observatoire royal à Greenwich, Londres. " Il est connecté avec temps universel coordonné (UTC.). « Heure normale de l'Est.«Dans la date affichée, fait référence au fuseau horaire de votre navigateur ou de votre ordinateur.

* Veuillez noter que GMT et UTC diffèrent les uns dans les autres. Nous envisagerons des valeurs UTC en quelques minutes.

* Notez également que la date à JavaScript est déterminée par le temps à Millisecondes, qui s'est passée depuis minuit, janvier 1970, UTC. En une journée, 86 400 000 millisecondes. La gamme de l'objet de date est de -100 000 000 jours à 100 000 000 jours par rapport au 1er janvier 1970, UTC.

* Les valeurs obtenues à l'aide de la méthode mentionnée ci-dessus dépendent des paramètres système de votre appareil. Si vous modifiez les paramètres d'horloge de l'ordinateur, l'heure qui retournera cette méthode changera.

Eh bien, nous avons traité avec de nouveaux formats JavaScript Date et sont maintenant prêts à passer à autre chose!

Obtenir une journée de la semaine:

Pour obtenir le jour de la semaine, utilisez la méthode Date d'objet JavaScript Getday ():

var jour \u003d date.gedday (); Console.log (jour);

* Veuillez noter que les jours de la semaine sont numérotés de 0 à 6, dimanche \u003d 0, lundi \u003d 1, mardi \u003d 2 et ainsi de suite.

Obtenir un mois:

Pour obtenir le mois en cours de cette année, utilisez la méthode GetMonth (). Avant cela, j'ai dit que les noms des méthodes comprennent intuitivement!

var mois \u003d date.getmonth (); Console.log (mois); //une

* Veuillez noter que, comme les jours de la semaine, les mois sont renvoyés dans un format numérique de 0 à 11; Janvier \u003d 0, février \u003d 1, mars \u003d 2 et ainsi de suite.

Obtenir une journée du mois:

Pour obtenir la journée du mois, vous pouvez utiliser la méthode getDate ().

var dayofmonth \u003d date.getdate (); Console.log (dayofmonth); // 2.

* La méthode getDate () renvoie les jours du mois, numéroté de 1 à 31; Le numéro 1 correspond au premier jour du mois.

Obtenir du temps:

Pour obtenir l'heure actuelle, la méthode Gettime () est utilisée.

var temps \u003d date.gettime (); Console.log (heure); // 1454461242058.

Regarde ... étrange ... qu'est-ce que c'est? Vous voyez le nombre de millisecondes qui sont passés depuis le 1er janvier 1970 00:00:00 UTC. Alors, quel âge a-t-il?

1454461242058 MS / 31540000000 MS par an \u003d environ 46 ans
1970 + 46 ans \u003d 2016

Vérifions pour vous assurer:

variable variable. Console.log (année) // 2016

Oui c'est ça! Nous venons d'apporter la date et l'heure actuelles à l'aide de la nouvelle date JavaScript.



Avez-vous aimé l'article? Partagez-le