Bonjour à tous,

Je chercher à implémenter une fonction qui met la date et l'heure à jour en fonction d'un timestamp renvoyé en UTC+0 et des variables metazone/location, sans rentrer dans les détails les variables sont renvoyées en JSON via un websocket (là n'est pas le problème).
Je me suis fait ma petite "librairie" avec les metazone/location disponible en me basant sur les "canonical" : https://en.wikipedia.org/wiki/List_o...ase_time_zones
Et je me suis appuyé ensuite sur ce lien : https://stackoverflow.com/a/54127122 pour faire un set de la date en appliquant le "timezone"

J'ai donc construit cette fonction :
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
19
function update_datetime(ts) { // ts is in us
    let timezone = get_timezone_toString(); // ça me retourne un metazone/location suivant les variables définies
    console.log(`timezone: ${timezone}`);
    let date;
    try {
        date = new Date(ts).toLocaleString("en-US", {timeZone: `${timezone}`});
        date = new Date(date);
        console.log(`date_with_tz: ${date.valueOf()}`);
    }
    catch(error) {
        console.log(`error: ${error}`);
        if(error instanceof RangeError) {
            date = new Date(ts);
            console.log(`date_without_tz: ${date.valueOf()}`);
        }
    }
 
    // Some code	.. le reste fonctionne comme je veux
}
Et cela me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
timezone: "Europe/Paris"
error: RangeError: Invalid time zone specified: "Europe/Paris"
date_without_tz: 1586956984941
Je ne comprends pas, car quand je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
date = new Date(ts).toLocaleString("en-US", {timeZone: "Europe/Paris"});
ça fonctionne bien, je n'obtiens pas une RangeError

Qu'est ce que j'ai mal fait ?

Merci par avance pour vos retours.