在 UNIX 环境下,我一直都是传一条 SQL 给数据库,比如 informix 下(oracle类似):
nextday=`dbaccess $SCH_DBS <<! 2>dev/null | cut -d' ' -f2
output to pipe 'grep -v ^$'
select first 1 date+1 from time_table;
!`
test $? && exit
echo $nextday
LINUX 就不必这么麻烦了。
今天看到一篇介绍 linux date命令 的文章,这里介绍的方法你绝对没试过:
假设计算机日期是 2007/08/06 ( 格式化的处理自已搞定,就是 %Y%-m-%d之类的,我就不罗嗦了)
昨天:
date --date='yesterday'
2007年 08月 05日 星期日 19:02:25 CST
前天:
date --date='1 days ago'
2007年 08月 04日 星期六 19:06:34 CST
半小时后: -30 minutes ;上一小时: 1 hour ago;上个月: 1 month ago ;去年:1 year ago
明天:
date --date='next day'
2007年 08月 07日 星期二 19:10:12 CST
date --date='-1 days ago'
2007年 08月 07日 星期二 19:08:51 CST
半小时后: 30 minutes ;下一小时: 1 hour;下个月: 1 month ;明年:1 year 一个月零五天: 1 month 5 day
有意思吧!想想还需要什么功能?
下周:
date --date='1 week'
周未:
date --date='this sunday'
变态组合一下:
date --date='-30 minutes -2 weeks +2 months'
?? 怎么解释?? (把飞机票送过来,时间是)在两个月提前2周半小时 ...... 够变态的!!
这还不够,还需要传入自已给定的时间作参数,计算指定日期时间之前或之后的时间:
我儿子十岁生日:(中国人的习惯是十周岁提前做,嘻嘻)
date --date='2008-08-08 08:08:08 UTC+8 +8 year -8 months' +'%F %T'
2015-12-08 08:08:08
呵呵,这句话的解释是 ^_^ ??
你自已折腾去吧。。。。。
二进制生存 http://www.pkblogs.com/binsos
没有评论:
发表评论