如何在OS X Leopard上的bash脚本中进行日期数学运算?

Gre*_*ley 22 macos bash date-math

我意识到我可以用一个小的C或Ruby程序来做这个,但我希望我的脚本尽可能少的依赖.

鉴于这一点,如何在OS X上的bash脚本中进行日期数学计算?我见过一个帖子(在另一个网站上)有人做了以下事情:

date -d "-1 day"

但这似乎不适用于OS X.

附录:

有几个人评论并回应说Ruby,Python,Perl等是OS X的标准配置.我熟悉这三种语言,并且可以轻松编写一个可以满足我想要的脚本.事实上,我已经有了用Ruby编写的脚本.

所以也许我应该澄清"外部依赖"的含义.我的意思是,我不希望我的bash脚本必须调用其外部的任何其他脚本.换句话说,我希望它使用OS X的vanilla安装中可用的一些实用程序,并且已经在路径上.

但是,它看起来不可能,所以我将不得不使用我的外部依赖:Ruby脚本.

Mat*_*kel 31

$ date -v -1d
Run Code Online (Sandbox Code Playgroud)

-d设置夏令时标志.

尝试使用man date获取更多信息.


Jef*_* Wu 15

因为MacOS基于BSD,而不是linux,命令实际上是:

date -v-1d
Run Code Online (Sandbox Code Playgroud)

调整开关采用格式-v[+/-](number)[ymwdHMS].


Jam*_*her 14

例如,此OS X date命令将向输入字符串20160826添加14天(而不是当前时间):

date -j -f %Y%m%d -v+14d 20160826 +%Y%m%d
Run Code Online (Sandbox Code Playgroud)