如何在 Bash Shell 中获取一周中给定年份的第一天?

问题描述

我有一个 bash 脚本,我试图在其中传递年份并获取该年 1 月 1 日这一周的第一天。

我尝试过使用 date 命令:

yearsago=$(( 2021 - year))
date --date="$(date +'%Y-%m-01') - ${yearsago} year "

没有运气。例如,如果我输入年份:2020 作为变量。它应该找到该年的第一天,即 1 月 1 日,并找到 2020 年 1 月 1 日的星期几。

如果是星期一,则输出“1”,如果是星期二,则输出“2” 谢谢。

解决方法

请看下面的代码,它会给你一年的第一天过去:

# !/usr/bin/bash
year=2020
firstday=`date -d "01 Jan $year" +'%A,%d'`
echo "First day of the year '$year' is : '$firstday'"

输出: “2020”年的第一天是:“星期三,01”
如果您只想获取 day ,请删除 %d 选项。

firstday=`date -d "01 Jan $year" +'%A`

输出:“2020”年的第一天是:“星期三”

,

获取当年 1 月 1 日那一周的第一天。

看起来微不足道:

date -d "$year-1-1" +%a