Chinaunix

标题: shell 中希望能取当前日期二十天后的年月日,请帮助谢谢 [打印本页]

作者: 791207yy    时间: 2012-07-21 15:00
标题: shell 中希望能取当前日期二十天后的年月日,请帮助谢谢
$ date -d "1 day"
date: -d illegal option
Usage: date [-u] [+format]
       date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]


$ date -d "1 month" +%Y-%m-%d
date: -d illegal option
Usage: date [-u] [+format]
       date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]

这两行命令在网上搜的,但都不能成功运行 帮助谢谢

作者: 791207yy    时间: 2012-07-21 15:31
我只想要年月日不需要小时分种等信息
作者: dn833    时间: 2012-07-21 17:37
  1. date -d "20 days" +%F
复制代码

作者: yanxiaojun224    时间: 2012-07-21 17:54
DATE=`TZ="TAIST+480" date +%Y-%m-%d`
作者: 791207yy    时间: 2012-07-21 20:15
dn833 发表于 2012-07-21 17:37



$ date -d "20 days" +%F
date: -d illegal option
Usage: date [-u] [+format]
       date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]
不能运行呀
作者: 791207yy    时间: 2012-07-21 20:17
yanxiaojun224 发表于 2012-07-21 17:54
DATE=`TZ="TAIST+480" date +%Y-%m-%d`


vi 11
DATE=`TZ="TAIST+480" date +%Y-%m-%d`
echo $DATE


$sh 11


结果  2012-07-01

我想要是的当前时间后二十天的时间谢谢
作者: dn833    时间: 2012-07-21 20:32
本帖最后由 dn833 于 2012-07-21 20:33 编辑

估计LZ不是linux,我在centos下运行这个命令是正确的
  1. [root@cloud test]# date -d "20 days"
  2. Fri Aug 10 21:17:09 CST 2012
  3. [root@cloud test]# date -d "20 days" +%F
  4. 2012-08-10
  5. [root@cloud test]# date
  6. Sat Jul 21 21:17:58 CST 2012
复制代码
  1. [root@cloud test]# date --v
  2. date (GNU coreutils) 5.97
  3. Copyright (C) 2006 Free Software Foundation, Inc.
  4. This is free software.  You may redistribute copies of it under the terms of
  5. the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
  6. There is NO WARRANTY, to the extent permitted by law.

  7. Written by David MacKenzie.
复制代码

作者: blackold    时间: 2012-07-21 20:35
date版本的问题。

作者: 791207yy    时间: 2012-07-21 21:07
怎么办呢,求助
作者: dn833    时间: 2012-07-21 21:36
装个gnu版的date呗
http://mirror.bjtu.edu.cn/gnu/coreutils/coreutils-5.97.tar.gz
作者: mlxahcf    时间: 2012-07-25 17:40
date -d '20 days' +%Y-%m-%d
作者: 惟吾无为    时间: 2012-07-26 06:14
那就SheLl处理字串吧
解析出年月日,把日+20,满了就进位
作者: 惟吾无为    时间: 2012-07-26 06:19
如果你的Date可以在时间戳和时间字串直接转换,可以考虑先转为时间戳,然后加上20天的秒数,然后再转过来,如果Date不行,看看你的AWk是否支持STrftime函数。不然就解析字串吧
作者: dwj19830118    时间: 2012-07-26 09:59
date -d "20 days" +%Y%m%d
作者: bpzhang2008    时间: 2012-07-27 10:37
这个是可以的
dwj19830118 发表于 2012-07-26 09:59
date -d "20 days" +%Y%m%d





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