[英]How to calculate date -N in linux shell scripting?
I want to know how to calculate date-n where date is systems current date and N is number of days i want to add or subtract. 我想知道如何计算date-n,其中date是系统当前日期,N是我想要添加或减去的天数。
I am able to do get yesterday's date but dont know how to add or subtract no of days to get desired date : 我能够做到昨天的日期,但不知道如何增加或减去没有天数来获得所需的日期:
date_dir=`date +%Y-%m-%d -d yesterday`
echo "$date_dir"
Thanks 谢谢
You can supply an argument '-N days'
to the -d
option: 您可以为-d
选项提供参数'-N days'
:
$ date +%Y-%m-%d -d '-42 days' # This would subtract 42 days from the current date
2013-10-30
$ date +%Y-%m-%d -d '+42 days' # This would add 42 days to the current date
2014-01-22
and assign the result to a variable: 并将结果分配给变量:
$ date_dir=$(date +%Y-%m-%d -d '-42 days')
$ echo $date_dir
2013-10-30
var=`date +%s`;
date=`date --date=@$var +%Y-%m-%d`
echo $date
you can add/subtract no of days you need. 您可以添加/减去您需要的日期。 just remember it is in seconds 只记得它是在几秒钟内
From man pages: 从手册页:
%s seconds since 1970-01-01 00:00:00 UTC 自1970-01-01 00:00:00 UTC以来的%s秒
Convert seconds since the epoch (1970-01-01 UTC) to a date 将纪元(1970-01-01 UTC)之后的秒数转换为日期
$ date --date='@2147483647' $ date --date ='@ 2147483647'
edit: devNull provided better answer 编辑:devNull提供了更好的答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.