Développement

Astuces de développement

Outils pour utilisateurs

Outils du site


langages:angular:charger_date

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
langages:angular:charger_date [2021/08/27 09:12]
jonathan
langages:angular:charger_date [2021/08/27 11:35] (Version actuelle)
jonathan
Ligne 15: Ligne 15:
   curRappel.date = (curRappel.date ? new Date(curRappel.date) : null);   curRappel.date = (curRappel.date ? new Date(curRappel.date) : null);
 }) })
 +</code>
 +
 +<code javascript>
 +/**
 + * Convertir une date JSON vers un objet Date JS au fuseau local.
 + * Interpréter la chaîne JSON comme étant une date uniquement (on force l’heure à 12h pour ne pas avoir la date qui change avec Firefox).
 + * @param jsonDate : chaîne json de type date/heure UTC (sera convertie en Date locale (à 12h)) ou bien Date (sera copiée et forcée à 12h).
 + * @returns date locale.
 + */
 +public static jsonUtcDateToLocaleDate(jsonDate: string | Date): Date {
 +  let retVal: Date = null;
 +  if (jsonDate) {
 +    // on veut que la date du JSON qui est un string, soit convertie en Date et interprétée comme étant
 +    // une date UTC => on ne garde que la partie date => les 10 premiers caractères de la chaîne
 +    // source : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#format_de_la_cha%C3%AEne_de_caract%C3%A8res
 +
 +    // s’il s’agit bien d’une string
 +    if (jsonDate instanceof String) {
 +      retVal = new Date((jsonDate as string).slice(0, 10));
 +      // s’il s’agit déjà d’une date => on n’a rien à changer
 +    } else {
 +      retVal = new Date(jsonDate as Date);
 +    }
 +    // forcer à 12h car Chrome et Firefox ne décalent pas les heures de la même manière.
 +    retVal.setHours(12, 0, 0, 0);
 +  }
 +  return retVal;
 +}
 </code> </code>
langages/angular/charger_date.1630048353.txt.gz · Dernière modification: 2021/08/27 09:12 de jonathan