+ -
当前位置:首页 → 问答吧 → linux 下取昨天时间问题

linux 下取昨天时间问题

时间:2011-07-07

来源:互联网

我在一个shell脚本中取昨天的时间 YDATE=`TZ=aaa24 date +%Y-%m-%d`  这个脚本我放在服务器上每天凌晨两点执行 可是日志里打出来的是前天的时间。 比如现在我打TZ=aaa24 date +%Y-%m-%d` 就是昨天的时间 可是在凌晨两点自动执行脚本时打印出来的前天的时间 有人知道怎么回事么?谢谢大家了

作者: czl1988311   发布时间: 2011-07-07

aaa24 是那一国的timezone ....

# date;TZ=aaa24 date
Thu Jul  7 09:20:55 CST 2011
Wed Jul  6 01:20:55 aaa 2011

作者: jason680   发布时间: 2011-07-07

回复 jason680

这个是别人写的一个脚本 那应该怎么去昨天的时间呢 这是和时区有关系么

作者: czl1988311   发布时间: 2011-07-07

回复 czl1988311


    date -s "yesterday"

作者: ljwd1000   发布时间: 2011-07-07

本帖最后由 rdcwayx 于 2011-07-07 10:39 编辑

TZ=<string><offset>,

string aaa 可以是任意的字母,如果你要实验的话,可以试一下

TZ=abc24, TZ=xyz24, 得到的时间都是一样的。

24 就是offset, 也就是和标准时间(格林威治GMT)的差别, 也就是GMT 24小时前, 也就是GMT 的昨天。(注意不是你自己当地的昨天)

有了后面的offset 设置,前面的string 就被忽略。

否则的话,如果直接 TZ=aaa, 你得到的是GMT的时间, 如果string刚好是有定义的 (/usr/share/zoneinfo),那么按照定义的时间。

作者: rdcwayx   发布时间: 2011-07-07



QUOTE:
回复  jason680

这个是别人写的一个脚本 那应该怎么去昨天的时间呢 这是和时区有关系么
czl1988311 发表于 2011-07-07 10:12




    http://bbs.chinaunix.net/thread-3560768-1-1.html

作者: jason680   发布时间: 2011-07-07