Bonjour,
J'extrais des données d'un serveur pour les afficher dans une popup sous forme de tableau.

La date et l'heure sont sous ce format 2017-12-29 16:00 UTC, lors de la création du tableau dans la popup j'aimerais qu'il me convertisse en local mais en gardant le formatage ISO ex :
La fonction suivante fait le job

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var d_utc = [2017,11,29,16,0];
 
function CltDTZ (d_utc) {
var d = new Date(Date.UTC.apply(null, d_utc));
var o = -d.getTimezoneOffset(), t = Math.abs(o);
var s = (o < 0) ? "-" : "+";
var h = Math.trunc(t) / 60;
var mh = (h == 0) ? "" : s + h;
var m = t % 60;
var hm = (m == 0) ? mh : s + h + ':' + m;
var Y = d.getFullYear();
var M = ("0"+ (d.getMonth() + 1)).slice(-2);
var D = ("0" + d.getDate()).slice(-2);
var HH = ("0" + d.getHours()).slice(-2);
var MM = ("0" + d.getMinutes()).slice(-2);
return Y + "-" + M + "-" + D + " " + HH + ":" + MM + " " + "UTC" + hm;
};
alert (CltDTZ(d_utc)); // 2017-12-29 17:00 UTC+1
J'aimerais savoir s'il est possible d'optimiser le code avec les constructeurs disponibles qui pourrait me générer ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DateTimeUTC : 2017-12-29T16:00:00.000Z // donné par le serveur 
=>> Traitement via les constructeurs disponibles
DateTimeLOC : 2017-12-29T17:00:00.000+01:00 // ex:+1 pour la FR en ce moment
Merci