如何使用ubuntu命令行查找假期?

How to use ubuntu command line to find a holiday?

如何使用ubuntu命令查找2017年母亲节(五月的第二个星期日)的日期?

由于 -v 不适用于 ubuntu,它适用于 Mac。

假设通常是五月的第二个星期日:

fhenri@machine:~$ date -v1d -v5m -v+1y -v+2w -v-sun
Dim 14 mai 2017 22:56:28 CEST

您应该查看 man date 以获取更多示例并了解您是否需要另一个特定的星期日或修复日

我在我的 macOS(基于 freeBSD)上 运行 并没有意识到 date 在 *nix 系统中不统一。

在 ubuntu 上,它显示出有点困难,但我会怎么做

vagrant@ubuntu:~$ firstofmay=$(date -d '05/01/2017')
vagrant@ubuntu:~$ firstsunday=$(date -d "$firstofmay" '+%Y-%m')-$(( 8 - $(date -d "$firstofmay" '+%u') ))
vagrant@ubuntu:~$ secondsunday=$(date -d "$firstsunday + 1 week" '+%Y-%m-%d')
vagrant@ubuntu:~$ echo $secondsunday
2017-05-14
  1. 首先我将 5 月 1 日初始化为我的基准日期
  2. 然后我得到这个月第一个星期日的格式:天是基于 7 的,$(date -d "$firstofmonth" '+%u') 将是五月一日的天数(即:星期一是 1);这给出了诸如 YYYY-MM-dd
  3. 的格式
  4. 在这个日期上加 1 周我之前给出了正确的日期 - 如果你想要不同的格式,请调整格式