скрипт оболочки unix для получения даты 30 минут назад в GMT - PullRequest
7 голосов
/ 08 января 2010

У меня есть сценарий оболочки, который я хочу получить дату и время 30 минут назад в GMT.

У меня это отлично работает в течение полных часов, но неполные часы, похоже, не работают:

1 час назад

TZ = GMT + 1 дата +% Y-% m-% d ""% H:% M:% S 2010-01-08 17: 43: 57

2 часа назад

TZ = GMT + 2 дата +% Y-% m-% d ""% H:% M:% S 2010-01-08 16: 44: 07

1/2 часа назад

TZ = GMT + .5 дата +% Y-% m-% d ""% H:% M:% S 2010-01-08 18: 44: 38

перепробовал много комбинаций 0,5 1,5, неполные часы, похоже, не работают, что странно, потому что есть некоторые часовые пояса, которые не имеют полного смещения часа.

есть предложения?

для использования perl или ruby ​​нельзя использовать обычный вызов shell или mysql.

Ответы [ 3 ]

14 голосов
/ 08 января 2010

date -u --date = "- 30 минут"

8 голосов
/ 08 января 2010

Вы также можете сделать это:

TZ='UTC+0:30' date
1 голос
/ 08 января 2010
 /usr/bin/env TZ='GMT' date -d '-30 minutes'

Это версия команды date, которая входит в состав GNU coreutils. Я не знаю, работает ли он для других версий программы date.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...