Ci-dessous, les différences entre deux révisions de la page.
| 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 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: | ||
| + | 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:// | ||
| + | |||
| + | // s’il s’agit bien d’une string | ||
| + | if (jsonDate instanceof String) { | ||
| + | retVal = new Date((jsonDate as string).slice(0, | ||
| + | // 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, | ||
| + | } | ||
| + | return retVal; | ||
| + | } | ||
| </ | </ | ||