在bash脚本中,我有一个变量,如:
date=20140131
这意味着2014年1月31日。如何添加一天?我的意思是如何在“日期”中添加一个值,将其更改为“ 20140201 ”(1 Fab 2014)而不是“ 20140132 ”
答案 0 :(得分:1)
你去:
kent$ echo $d
20140131
kent$ date -d"$d +1 day" +%Y%m%d
20140201
答案 1 :(得分:1)
嗯,您需要使用GNU/date,而不是标准的unix日期,因为它实现了与原始unix日期不同的日期算术,然后您需要做的就是:
% date=20140131
% date -d "$date + 1 day"
Sat Feb 1 00:00:00 CET 2014
如果您想避免任何格式问题,可以使用以下方式指定格式:
% date -d "$date + 1 day" '+%Y%m%d'
20140201
有一些关于玩gnu / date算术的文章:
答案 2 :(得分:1)
试试这个解决方案:
我先误解了
<强>更新强>
#!/bin/bash
datee="20140131"
DATE=`date -d"$datee +1 day" +%Y%m%d`
echo $DATE
或强>
#!/bin/bash
datee="20140131"
DATE=$(date -d"$datee +1 day" +%Y%m%d)
echo $DATE
结果是:
20140201
答案 3 :(得分:1)
GNU date
$ d=20140131
$ date -d "$d +1 day" +%Y%m%d
20140201
如果您没有gnu date
,这里是我主要使用的脚本(请参阅http://www.unix.com/16559-post2.html)
所以,如果你需要在20140131的第二天获得,你可以运行:
datecalc -a 2014 01 31 + 1