Existe-t-il un moyen d’obtenir le décalage d’un fuseau horaire donné (identifiant comme EDT ou America / New_York) à partir de GMT dans le script shell Linux?
Exportez votre variable d’environnement TZ et la date d’impression avec% z pour le décalage de fuseau horaire.
#!/bin/sh export TZ=":Pacific/Auckland" date +%z
C’est un moyen détourné de le faire mais ça marche ( vaguement basé sur ceci ):
#!/bin/bash ZONE=$1 TIME=$(date +%s --utc -d "12:00:00 $ZONE") UTC_TIME=$(date +%s --utc -d "12:00:00") ((DIFF=UTC_TIME-TIME)) echo - | awk -v SECS=$DIFF '{printf "%d",SECS/(60*60)}'
Enregistrez-le en tant que tzoffset
, rendez-le exécutable et exécutez-le comme ceci:
tzoffset PST
Ce script dans sa forme actuelle ne gère que les fuseaux horaires abrégés.