Смещение данного часового пояса от GMT в сценарии оболочки Linux

Существует ли способ получить смещение данного часового пояса (идентификатор как EDT или America/New_York) от GMT в сценарии оболочки Linux?

9
задан dutch 13 May 2010 в 01:23
поделиться

2 ответа

Экспортируйте переменную среды TZ и напечатайте дату с% z для смещения часового пояса.

#!/bin/sh
export TZ=":Pacific/Auckland"
date +%z
16
ответ дан 4 December 2019 в 10:30
поделиться

Это обходной способ сделать это, но он работает ( частично основан на этом ):

#!/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)}'

Сохраните это как tzoffset , сделайте его исполняемым и запустите его следующим образом :

tzoffset PST

Этот скрипт в его текущей форме обрабатывает только сокращенные часовые пояса.

4
ответ дан 4 December 2019 в 10:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: