web-dev-qa-db-fra.com

Comment puis-je obtenir l'heure actuelle dans un fuseau horaire différent sans changement de temps système?

J'essaie d'utiliser la "date" pour obtenir le temps dans un fuseau horaire différent et à défaut. Toutes les méthodes que j'ai trouvées sur Google impliquent la modification du fuseau horaire sur le système, mais ce n'est pas ce que je veux.

Existe-t-il une seule commande qui retournera l'heure actuelle dans un fuseau horaire différent de la mienne?

17
ID-ZERO

Les fuseaux horaires sont énumérés dans /usr/share/zoneinfo. Si vous vouliez l'heure actuelle à Singapour, par exemple, vous pourriez passer cela à date:

TZ=Asia/Singapore date
Sun Jun 14 17:17:49 SGT 2015

Pour simplifier cette procédure, si vous devez établir fréquemment l'heure locale dans différents fuseaux horaires, vous pouvez ajouter quelques fonctions à votre fichier RC Shell RC (par exemple, .bashrc):

zones() { ls /usr/share/zoneinfo/"$1" ;}
zone() { TZ="$1"/"$2" date; }

Le premier imprimera la liste de zones correcte pour une région et armé avec ces informations, vous pouvez ensuite imprimer l'heure locale.

28
jasonwryan

Vous pouvez utiliser zdump:

NAME
       zdump - timezone dumper

SYNOPSIS
       zdump [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] [ zonename ... ]

DESCRIPTION
       Zdump prints the current time in each zonename named on the command line.

Exemple:

$ zdump ~$ zdump Iceland
Iceland  Sun Jun 14 09:40:30 2015 GMT

$ zdump Japan
Japan  Sun Jun 14 18:34:36 2015 JST

Le fichier de données de fuseau horaire est localisé à /usr/share/zoneinfo.

Vous pouvez également imprimer du temps de tous par find /usr/share/zoneinfo/ -type f | xargs zdump. Et peut grep pour un exemple particulier pour Dubaï

$ find /usr/share/zoneinfo/ -type f | xargs zdump | grep -i Dubai
/usr/share/zoneinfo/right/Asia/Dubai                      Sun Jun 14 13:38:26 2015 GST
/usr/share/zoneinfo/Asia/Dubai                            Sun Jun 14 13:38:51 2015 GST

Vous pouvez utiliser gworldclock: -

NAME
       gworldclock - Displays time and date in specified time zones.

SYNOPSIS
       gworldclock [ -f FILE ]

DESCRIPTION
       gworldclock  displays  the  time  and  date of specified time zones using a GTK+ interface. It also allows the
       zones to be "rendezvoused" or "synchronised" to a time other than the current time.

screenshot

11
Pandya