任何人都知道我如何将bash下的两个日期之间的差异从bash转换为zsh命令
假设您需要多次这样做,我会为此创建一个可重用的函数。
- 将其放入名为
duration-in-days
的文件中:autoload -Uz calendar_scandate local start end calendar_scandate $1 start=$REPLY calendar_scandate $2 end=$REPLY print $(( ( end - start ) / ( 24 * 60 * 60 ) ))
- 在您的
.zshrc
文件中,autoload
是您的函数。例如,如果将函数文件保存在目录~/functions
中:# Autoload all functions in your ~/functions dir. autoload -Uz ~/functions/*~*.zwc # Exclude .zwc files (generated when you compile functions).
- 重新启动您的终端或外壳
现在你可以像这样使用上面的功能:
% duration-in-days 2012-01-15 2012-02-03
19
%
如果您想在可执行脚本中使用此函数,请记住在脚本中autoload
。
虽然bash和zsh非常不同,但它们非常相似,在您的情况下,相同的命令适用于两者:
((DIFF=($(date +%s -d 20120203)-$(date +%s -d 20120115))/86400))