Maison  >  Article  >  interface Web  >  Une brève discussion sur les objets date et heure JavaScript_Connaissances de base

Une brève discussion sur les objets date et heure JavaScript_Connaissances de base

WBOY
WBOYoriginal
2016-05-16 16:23:451187parcourir

Objet date, date et heure

1. Introduction

L'objet Date est un objet qui fonctionne sur la date et l'heure. L'objet Date ne peut fonctionner que sur la date et l'heure via des méthodes.

2. Constructeur

2.1 new Date() : renvoie la date et l'heure locales actuelles
Paramètres : Aucun

Valeur de retour :

{Date} renvoie un objet Date représentant la date et l'heure locales.

Exemple :

Copier le code Le code est le suivant :

var dt = nouvelle Date();
console.log(dt); // => Renvoie un objet Date représentant la date et l'heure locales

2.2 new Date(milliseconds) : convertir les millisecondes en objet Date
Paramètres :

①milliseconds {int} : Nombre de millisecondes ; indiquant le nombre de millisecondes à partir de « 1970/01/01 00:00:00 » comme point de départ.

Remarque : le fuseau horaire actuel doit être ajouté au point de départ. Le fuseau horaire de l'heure de Pékin est le 8e arrondissement de l'Est. L'heure de début réelle est : '1970/01/01 08:00:00'

Valeur de retour :

{Date} renvoie un objet Date superposé.

Exemple :

Copier le code Le code est le suivant :

var dt = new Date(1000 * 60 * 1); // Nombre de millisecondes pour avancer d'1 minute
console.log(dt); // => {Date}:1970/01/01 08:01:00
dt = new Date(-1000 * 60 * 1); // Nombre de millisecondes pour revenir en arrière 1 minute
console.log(dt); // => {Date}:1970/01/01 07:59:00

2.3 new Date(dateStr) : Convertir une chaîne en objet Date
Paramètres :

①dateStr {string} : Une chaîne qui peut être convertie en un objet Date (l'heure peut être omise) ; il existe deux formats principaux de chaînes :

1) aaaa/MM/jj HH:mm:ss (recommandé) : si l'heure est omise, l'heure de l'objet Date renvoyé est 00:00:00.

2) aaaa-MM-jj HH:mm:ss : si l'heure est omise, l'heure de l'objet Date renvoyé est 08:00:00 (plus le fuseau horaire local). Si l'heure n'est pas omise, cette chaîne ne pourra pas être convertie dans IE !

Valeur de retour :

{Date} renvoie un objet Date converti.

Exemple :

Copier le code Le code est le suivant :

var dt = new Date('2014/12/25'); // aaaa/MM/jj
console.log(dt); // => {Date}:25/12/2014 00:00:00
dt = nouvelle Date('2014/12/25 12:00:00'); // aaaa/MM/jj HH:mm:ss
console.log(dt); // => {Date}:25/12/2014 12:00:00
dt = new Date('2014-12-25'); // aaaa-MM-jj
console.log(dt); // => {Date}:2014-12-25 08:00:00 (Ajout du fuseau horaire du 8ème District Est)
dt = new Date('2014-12-25 12:00:00'); // aaaa-MM-jj HH:mm:ss (Remarque : cette méthode de conversion signalera une erreur dans IE !)
console.log(dt); // => {Date}:2014-12-25 12:00:00

2.4 nouvelle Date (année, mois, opt_day, opt_hours, opt_minutes, opt_seconds, opt_milliseconds) : convertir l'année, le mois, le jour, les heures, les minutes et les secondes en objets Date
Paramètres :

①année {int} : année ; 4 chiffres. Tels que : 1999, 2014

②month {int} : mois ; 2 chiffres. Le calcul commence à partir de 0, 0 représente janvier et 11 représente décembre.

③opt_day {int} Facultatif : nombre ; 2 chiffres ; en comptant à partir de 1, 1 signifie n° 1.

④opt_hours {int} Facultatif : heures ; 2 chiffres ; valeur 0~23.

⑤opt_minutes {int} Facultatif : minutes ; 2 chiffres ; valeur 0~59.

⑥opt_seconds {int} Facultatif : secondes ; 2 non numérotées ; valeur 0~59.

⑦opt_milliseconds {int} Facultatif : millisecondes ; valeur 0~999.

Valeur de retour :

{Date} renvoie un objet Date converti.

Exemple :

Copier le code Le code est le suivant :

var dt = new Date(2014, 11); // Décembre 2014 (le numéro du mois saisi ici est 11)
console.log(dt); // => {Date}:01/12/2014 00:00:00
dt = nouvelle Date(2014, 11, 25); // 25 décembre 2014
console.log(dt); // => {Date}:25/12/2014 00:00:00
dt = nouvelle Date(2014, 11, 25, 15, 30, 40); // 25 décembre 2014 15:30:40
console.log(dt); // => {Date}:25/12/2014 15:30:40
dt = new Date(2014, 12, 25); // 25 décembre 2014 (le numéro du mois saisi ici est 12, ce qui signifie le 13ème mois et passe à janvier de la deuxième année)
console.log(dt); // => {Date} : 25/01/2015

3. Attributs

Aucun ; les objets Date ne peuvent fonctionner que sur la date et l'heure via des méthodes.

4. Méthodes d'instance

Les méthodes d'instance de l'objet Date sont principalement divisées en deux formes : l'heure locale et l'heure UTC. La même méthode fonctionne généralement sur ces deux formats d'heure (le nom de la méthode avec UTC est le fonctionnement de l'heure UTC). Nous introduisons ici principalement le fonctionnement de l'heure locale.

Méthode d'obtention 4.1
4.1.1 getFullYear() : renvoie la valeur de l'année de l'objet Date ;

4.1.2 getMonth() : renvoie la valeur mensuelle de l'objet Date. Commence à partir de 0, donc mois réel = valeur de retour 1 .

4.1.3 getDate() : renvoie la valeur de la date dans le mois de l'objet Date ; la plage de valeurs est de 1 à 31.

4.1.4 getHours() : renvoie la valeur horaire de l'objet Date.

4.1.5 getMinutes() : renvoie la valeur des minutes de l'objet Date.

4.1.6 getSeconds() : renvoie la valeur en secondes de l'objet Date.

4.1.7 getMilliseconds() : renvoie la valeur en millisecondes de l'objet Date.

4.1.8 getDay() : renvoie la valeur du jour de la semaine de l'objet Date ; 0 est dimanche, 1 est lundi, 2 est mardi, et ainsi de suite

4.1.9 getTime() : renvoie la valeur en millisecondes entre l'objet Date et '1970/01/01 00:00:00' (le fuseau horaire de Pékin est le 8e arrondissement Est, l'heure de début est en fait : ' 01/01/1970 08:00:00').

Exemple :

Copier le code Le code est le suivant :

dt.getFullYear(); // => 2014 : Année
dt.getMonth(); // => 11 : mois en fait décembre (le mois commence à 0)
dt.getDate(); // => 25 : jour
dt.getHours(); // => 15 : Heures
dt.getMinutes(); // => 30 : Minutes
dt.getSeconds(); // => 40 : secondes
dt.getMilliseconds(); // => 333 : millisecondes
dt.getDay(); // => 4 : valeur du jour de la semaine
dt.getTime(); // => 1419492640333 : renvoie la valeur en millisecondes entre l'objet Date et '1970/01/01 00:00:00' (le fuseau horaire de Pékin est le 8e arrondissement Est, l'heure de début est en fait :'01/01/1970 08:00:00')

Méthode de définition 4.2
4.2.1 setFullYear(year, opt_month, opt_date) : définit la valeur de l'année de l'objet Date à 4 chiffres ;

4.2.2 setMonth(month, opt_date) : définit la valeur mensuelle de l'objet Date. 0 représente janvier et 11 représente décembre.

4.2.3 setDate(date) : définissez la valeur de la date dans le mois de l'objet Date ; la plage de valeurs est de 1 à 31.

4.2.4 setHours(hour, opt_min, opt_sec, opt_msec) : Définissez la valeur horaire de l'objet Date.

4.2.5 setMinutes(min, opt_sec, opt_msec) : Définissez la valeur des minutes de l'objet Date.

4.2.6 setSeconds(sec, opt_msec) : définit la valeur en secondes de l'objet Date.

4.2.7 setMilliseconds(msec) : définit la valeur en millisecondes de l'objet Date.

Exemple :

Copier le code Le code est le suivant :

var dt = nouvelle Date();
dt.setFullYear(2014); // => 2014 : Année
dt.setMonth(11); // => 11 : mois en fait décembre (le mois commence à 0)
dt.setDate(25); // => 25 : jour
dt.setHours(15); // => 15 : Heures
dt.setMinutes(30); // => 30 : Minutes
dt.setSeconds(40); // => 40 : secondes
dt.setMilliseconds(333); // => 333 : millisecondes
console.log(dt); // => 25 décembre 2014 15:30:40 333 millisecondes

4.3 Autres méthodes
4.3.1 toString() : Convertir la date en une chaîne « année, mois, jour, heure, minute et seconde »

4.3.2 toLocaleString() : Convertir la date en une chaîne de format local de « année, mois, jour, heure, minute et seconde »

4.3.3 toDateString() : Convertir la date en une chaîne 'année, mois, jour'

4.3.4 toLocaleDateString() : Convertir la date en une chaîne de format local de « année, mois et jour »

4.3.5 toTimeString() : Convertir la date en une chaîne d'heures, minutes et secondes

4.3.6 toLocaleTimeString() : Convertir la date en une chaîne de format local de « heures, minutes et secondes »

4.3.7 valueOf() : Identique à getTime(), renvoie la valeur en millisecondes entre l'objet Date et « 1970/01/01 00:00:00 » (le fuseau horaire de Pékin est le 8e arrondissement Est, le l'heure de début est en fait : '1970/01/01 08:00:00')

Exemple :

Copier le code Le code est le suivant :

var dt = nouvelle Date();
console.log(dt.toString()); // => mar 23 décembre 2014 22:56:11 GMT 0800 (heure standard de Chine) : convertir la date en année, mois, jour, heure, minute et seconde 'chaîne
console.log(dt.toLocaleString()); // => 23 décembre 2014 22:56:11 : Convertir la date en une chaîne de format local de « année, mois, jour, heure, minute et seconde » 🎜> console.log(dt.toDateString()); // => mar 23 décembre 2014 : convertir la date en chaîne « année, mois et jour »
console.log(dt.toLocaleDateString()); // => 23 décembre 2014 : Convertir la date en une chaîne de format local de « année, mois et jour »
console.log(dt.toTimeString()); // => 22:56:11 GMT 0800 (heure standard de Chine) : convertir la date en une chaîne « heures, minutes et secondes »
console.log(dt.toLocaleTimeString()); // => 22:56:11 : Convertir la date en une chaîne de format local de « heures, minutes et secondes »
console.log(dt.valueOf()); // => Renvoie la valeur en millisecondes entre l'objet Date et « 1970/01/01 00:00:00 » (le fuseau horaire de Pékin est le 8e arrondissement Est, le l'heure de début est en fait : '1970/01/01 08:00:00')

5. Méthode statique

5.1 Date.now()

Description : Renvoie la valeur en millisecondes entre l'objet Date de la date et de l'heure actuelles et « 01/01/1970 00:00:00 » (le fuseau horaire de Pékin est le 8e arrondissement Est, l'heure de début est en réalité : « 1970/ 01/01 08 :00:00')

Paramètres : Aucun

Valeur de retour :

{int} : Le nombre de millisecondes entre l'heure actuelle et l'heure de début.

Exemple :

Copier le code Le code est le suivant :
console.log(Date.now()); // => 1419431519276

5.2 Date.parse(dateStr)

Description : convertissez la chaîne en un objet Date, puis renvoyez la valeur en millisecondes entre cet objet Date et « 01/01/1970 00:00:00 » (le fuseau horaire de Pékin est le 8e arrondissement Est, l'heure de début est en réalité : '01/01/1970 08:00:00')

Paramètres :

①dateStr {string} : Une chaîne qui peut être convertie en un objet Date (l'heure peut être omise) ; il existe deux formats principaux de chaînes :

1) aaaa/MM/jj HH:mm:ss (recommandé) : si l'heure est omise, l'heure de l'objet Date renvoyé est 00:00:00.

2) aaaa-MM-jj HH:mm:ss : si l'heure est omise, l'heure de l'objet Date renvoyé est 08:00:00 (plus le fuseau horaire local). Si l'heure n'est pas omise, cette chaîne renvoie NaN (pas un nombre) dans IE !

Valeur de retour :

{int} Renvoie le nombre de millisecondes entre l'objet Date converti et l'heure de début.

Exemple :

Copier le code Le code est le suivant :
console.log(Date.parse('2014/12/25 12:00:00')); // => 1419480000000
console.log(Date.parse('2014-12-25 12:00:00')); // => 1419480000000 (Remarque : cette méthode de conversion renvoie NaN dans IE !)

6. Fonctionnement pratique

6.1 Convertir le type DateTime de C# en objet Date de Js

Remarque : Le format du type DateTime de C# renvoyé à la réception via la sérialisation Json est : "/Date(1419492640000)/". Le nombre au milieu représente le nombre de millisecondes entre la valeur DateTime et l'heure de début.

Exemple :

Code backend : ashx simple

Copier le code Le code est le suivant :
public void ProcessRequest (contexte HttpContext) {
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
DateTime dt = DateTime.Parse("2014-12-25 15:30:40");
String rs = js.Serialize(dt); // Sérialiser en Json
Context.Response.ContentType = "text/plain";
contexte.Response.Write(rs);
>

Code frontal :

Copier le code Le code est le suivant :
var dateTimeJsonStr = '/Date(1419492640000)/'; // Format Json pour la conversion de type C# DateTime
var msecStr = dateTimeJsonStr.toString().replace(//Date(([-]?d ))//gi, "$1"); // => '1419492640000' : Obtenez la chaîne en millisecondes var msesInt = Number.parseInt(msecStr); // Convertit une chaîne de millisecondes en valeur numérique
var dt = new Date(msesInt); //Initialiser l'objet Date
console.log(dt.toLocaleString()); // => 25 décembre 2014 15:30:40

6.2 Obtenez le compte à rebours
Description : Calculez le nombre de jours, d'heures et de minutes qui séparent l'heure actuelle de l'heure de destination.

Exemple :

Copier le code Le code est le suivant :

/**
*Retour au compte à rebours
* @param dt {Date} : objet Date de destination
* @return {Strin} : Compte à rebours de retour : X jours X heures X minutes
*/
fonction getDownTime(dt) {
// 1. Obtenez le compte à rebours
var intervalMsec = dt - Date.now(); // Soustrayez l'heure actuelle de l'heure de destination et obtenez le nombre de millisecondes de différence entre les deux
var intervalSec = intervalMsec / 1000; // Convertir en secondes
var day = parseInt(intervalSec / 3600 / 24); // Nombre de jours
var hour = parseInt((intervalSec - day * 24 * 3600) / 3600 // Heure
); var min = parseInt((intervalSec - jour * 24 * 3600 - heure * 3600) / 60 // minutes
);
// 2. Si la différence en millisecondes est inférieure à 0, cela signifie que l'heure de destination est inférieure à l'heure actuelle. Les valeurs prises à cette heure sont toutes négatives : -X jours - heures - minutes Lors de l'affichage, seuls les jours négatifs qui le précèdent sont affichés.
Si (intervalleMsec < 0) {
heure = 0 - heure ;
         min = 0 - min ;
>

// 3. Concaténer les chaînes et renvoyer
var rs = jour 'jour' heure 'heure' min 'minute';
Retourner rs ;
>

// Heure actuelle : 28/12/2014 13:26
console.log(getDownTime(new Date('2015/06/01'))); // => 154 jours 10:33
console.log(getDownTime(new Date('2014/01/01'))); // => -361 jours 13:26

6.3 Comparer les tailles de deux objets Date
Remarque : Vous pouvez comparer les deux avec le nombre de millisecondes de l'heure de démarrage pour distinguer la taille.

Exemple :

Copier le code Le code est le suivant :

var dt1 = nouvelle Date('2015/12/01');
var dt2 = nouvelle Date('2015/12/25');
console.log(dt1 > dt2); // => false
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn