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

Prochaine révision
Révision précédente
langages:angular:charger_date [2020/02/12 16:57]
jonathan créée
langages:angular:charger_date [2021/08/27 11:35] (Version actuelle)
jonathan
Ligne 5: Ligne 5:
  
 <code javascript> <code javascript>
-  maDate = new Date(maDate);+  maDate = (maDate ? new Date(maDate) : null); 
 +</code> 
 + 
 +traitement sur une liste d’objets : 
 + 
 +<code javascript> 
 +  // fix dates : JSON => Date() 
 +this.rappels.map(curRappel => { 
 +  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.1581523024.txt.gz · Dernière modification: 2020/02/12 16:57 de jonathan