Chinaunix

标题: 求助,shell计算指定日期的后一天日期 [打印本页]

作者: hbjpu    时间: 2011-08-29 10:56
标题: 求助,shell计算指定日期的后一天日期
本帖最后由 hbjpu 于 2011-08-29 11:04 编辑

求助,shell计算指定日期的后一天日期
例如
输入:20110228
输出:20110301

输入:20110830
输出:20110831

我只知道计算当前日期的后一天,或者几天的日期是
date +%Y%m%d --date='1 day' (1标示明天,2是后天,以此类推)
但是我不会对指定的日期进行计算。

求帮助,谢谢。
作者: Shell_HAT    时间: 2011-08-29 11:11
#date -d "20110228 1 days" "+%Y%m%d"
20110301
#date -d "20110830 1 days" "+%Y%m%d"
20110831

作者: liion631818    时间: 2011-08-29 11:11

  1. cat tst.sh

  2. #!/bin/bash
  3. cur_sec=`date -d $1 +%s`
  4. after_day=$(($cur_sec + 24*60*60))
  5. date -d "1970-01-01 UTC $after_day seconds" +"%Y%m%d"
复制代码

作者: liion631818    时间: 2011-08-29 11:12
Shell_HAT 发表于 2011-08-29 11:11



    学习,date命令一直不太会用
作者: hbjpu    时间: 2011-08-29 11:15
Shell_HAT 发表于 2011-08-29 11:11


非常感谢各位大大的帮助
你简单一句
我整到爆头啊
谢谢了
作者: cjaizss    时间: 2011-08-29 13:34
学习,date命令一直不太会用
liion631818 发表于 2011-08-29 11:12



    这个命令我很少在工作中使用,每次都基本是答帖的时候man
作者: zooyo    时间: 2011-08-29 15:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: liion631818    时间: 2011-08-29 15:14
回复 7# zooyo


   
别的不会,木有办法
作者: zhaoke0128    时间: 2011-08-30 09:39
回复 2# Shell_HAT


    date命令还可以这么干,厉害
作者: cjaizss    时间: 2011-08-30 09:42
回复  liion631818


       你还真去算啊。
zooyo 发表于 2011-08-29 15:09



    我要写,八成也会这样去算,呵呵
作者: rdcwayx    时间: 2011-08-30 09:43
其实Shell_HAT 的命令是把+ - 号给省了。
  1. $ date -d " 20110228 -1 days" +%Y%m%d
  2. 20110227

  3. $ date -d " 20110228 +1 days" +%Y%m%d
  4. 20110301
复制代码
天数可以是任意数字
作者: mpstat    时间: 2011-08-30 13:00
我一直以为date就是显示设置当前时间的作用,后来仔细看了看原来有这么多名堂,真他娘的复杂。。。
作者: xindi10631    时间: 2011-08-30 14:08
学习了 不错!!!
作者: xiaopan3322    时间: 2011-08-30 14:26
http://scmbob.org/special_usage_of_date.html
作者: 西方不胜吗    时间: 2011-08-31 16:47
回复 6# cjaizss


    万能的man
作者: expert1    时间: 2011-09-02 13:53
回复 1# hbjpu


    php -r '$d="2011-09-02";echo date("Y-m-d",strtotime($d)+86400);'




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2