2016-06-23 12 views
6

sto cercando di ottenere l'elenco di tutti i fusi orari disponibili utilizzando momento-fuso orario in js nodo come questo -Come ottenere l'elenco di tutti i fuso orario disponibile utilizzando momento-fuso orario

var moment = require('moment-timezone'); 
var timeZones = moment.tz.names(); 
console.log(timeZones); 

che sto ottenendo i fusi orari in questo formato -

'Europe/Mariehamn', 
'Europe/Minsk', 
'Europe/Monaco', 
'Europe/Moscow', 
'Europe/Nicosia', 
'Europe/Oslo', 
'Europe/Paris', 
'Europe/Podgorica', 
'Europe/Prague', 
'Europe/Riga', 
'Europe/Rome', 

Ma io voglio ottenere i fusi orari in questo formato -

(GMT +01:00) Africa/Brazzaville 
(GMT +01:00) Africa/Casablanca 
(GMT +01:00) Africa/Douala 
(GMT +01:00) Africa/El_Aaiun 
(GMT +01:00) Africa/Kinshasa 
(GMT +01:00) Africa/Lagos 
(GMT +01:00) Africa/Libreville 
(GMT +01:00) Africa/Luanda 
(GMT +01:00) Africa/Malabo 
(GMT +01:00) Africa/Ndjamena 
(GMT +01:00) Africa/Niamey 

Come ottengo ?

+1

Quale offset si desidera mostrare? Lo scostamento standard per l'anno in corso? L'offset * corrente * (che può essere o meno lo scostamento standard), l'offset in vigore in un determinato momento? Quale funzione verrà eseguita dall'elenco nella tua applicazione? –

risposta

5

Non esiste un modo semplice per ottenere il formato desiderato, direttamente da moment-timezone.

Provare come sotto.

var moment = require('moment-timezone'); 
var timeZones = moment.tz.names(); 
var offsetTmz=[]; 

for(var i in timeZones) 
{ 
    offsetTmz.push(" (GMT"+moment.tz(timeZones[i]).format('Z')+")" + timeZones[i]); 
} 

Ora offsetTmz è array di stringhe nel formato che si desidera.

Ecco come sto usando.

Spero che questo ti possa aiutare.

+1

Esattamente! questo è quello che stavo cercando. Grazie Shrabanee. – Tanmoy

+2

Nota che questo ti darà l'offset ORA. Questo potrebbe non essere l'offset durante il tempo standard. Cambierà in qualsiasi fuso orario che osserva l'ora legale. –

+0

@MaggiePint concordato. – Shrabanee