检查字符串日期(mm/dd/yyyy)是否为周末-bash



我已经嵌套了遍历日期的循环并创建了一个日期。我如何检查具体日期是否在周末?

字符串日期的格式为mm/dd/yyyy,但可以很容易地更改。每个都有自己的变量$m$d$y

if [[ $(date +%u) -gt 5 ]] ; then
#do something
fi

上面的代码适用于当前日期,不知道如何将其转换为接受字符串日期。

您可以在bash脚本中使用RubyDate#cwday。例如:

#!/bin/bash
y=2019                                                                     
m=11
d=10
ruby -rtime -e "puts ([6,7].include? Date.new($y,$m,$d).cwday)"

输出true

我更喜欢直接使用变量:

if [[ $(date -d $your_variable +%u) -gt 5 ]]; then
#do something
fi

在我看来,这只是让代码更干净。

最新更新