代码之家  ›  专栏  ›  技术社区  ›  Joelio

30分钟前在GMT中获取日期的Unix shell脚本

  •  7
  • Joelio  · 技术社区  · 15 年前

    我有一个shell脚本,我想在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.51.5的组合,似乎没有部分时间工作,这很奇怪,因为有些时区没有完全抵消一个小时。

    有什么建议吗?

    不能使用perl或ruby需要定期调用shell或mysql。

    3 回复  |  直到 11 年前
        1
  •  13
  •   malonso    15 年前

    date-u--date=“-30分钟”

        2
  •  8
  •   Dennis Williamson    11 年前

    您也可以这样做:

    TZ='UTC+0:30' date
    
        3
  •  1
  •   Noufal Ibrahim    15 年前
     /usr/bin/env TZ='GMT' date -d '-30 minutes'
    

    这是gnu coreutils中date命令的版本。我不知道它是否适用于 date 程序。