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

时间:2016-04-21 20:45:49

标签: unix ubuntu command

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

由于-v不能在ubuntu上运行,因此适用于Mac。

1 个答案:

答案 0 :(得分:3)

让我们说它通常是可能的第二个星期日:

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

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

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

在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. 首先我将may的第1个初始化为我的基准日期
  2. 然后我得到了本月第一个星期日的格式:天是7基础,$(date -d "$firstofmonth" '+%u')将是5月1日的天数(即:星期一是1);这给出了一种格式,如YYYY-MM-dd
  3. 在此日期添加1周我之前已经提供了正确的日期 - 如果您希望它不同,请调整格式