如何在Zsh下获得两个日期之间的差异



任何人都知道我如何将bash下的两个日期之间的差异从bash转换为zsh命令

假设您需要多次这样做,我会为此创建一个可重用的函数。

  1. 将其放入名为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 ) ))
    
  2. 在您的.zshrc文件中,autoload是您的函数。例如,如果将函数文件保存在目录~/functions中:
    # Autoload all functions in your ~/functions dir.
    autoload -Uz ~/functions/*~*.zwc
    # Exclude .zwc files (generated when you compile functions).
    
  3. 重新启动您的终端或外壳

现在你可以像这样使用上面的功能:

% duration-in-days 2012-01-15 2012-02-03
19
%

如果您想在可执行脚本中使用此函数,请记住在脚本中autoload

虽然bash和zsh非常不同,但它们非常相似,在您的情况下,相同的命令适用于两者:

((DIFF=($(date +%s -d 20120203)-$(date +%s -d 20120115))/86400))

相关内容

  • 没有找到相关文章

最新更新