如何获得给定年份的第一天';Bash Shell中的星期几?
我有一个bash脚本,我试图在这一年中通过,并获得当年1月1日这一周的第一天 我已尝试使用date命令:如何获得给定年份的第一天';Bash Shell中的星期几?,bash,date,scripting,Bash,Date,Scripting,我有一个bash脚本,我试图在这一年中通过,并获得当年1月1日这一周的第一天 我已尝试使用date命令: yearsago=$(( 2021 - year)) date --date="$(date +'%Y-%m-01') - ${yearsago} year " 不走运。例如,如果我输入年份:2020作为变量。它应该找到当年的第一天,即1月1日,并找到2020年1月1日的一周中的哪一天 输出为如果星期一打印“1”,如果星期二打印“2” 多谢各位 获得当年1月1日这一周的
yearsago=$(( 2021 - year))
date --date="$(date +'%Y-%m-01') - ${yearsago} year "
不走运。例如,如果我输入年份:2020作为变量。它应该找到当年的第一天,即1月1日,并找到2020年1月1日的一周中的哪一天
输出为如果星期一打印“1”,如果星期二打印“2”
多谢各位
获得当年1月1日这一周的第一天
似乎微不足道:
date -d "$year-1-1" +%a
请参阅以下代码,该代码将为您提供一年中的第一天:
# !/usr/bin/bash
year=2020
firstday=`date -d "01 Jan $year" +'%A,%d'`
echo "First day of the year '$year' is : '$firstday'"
输出:
2020年的第一天是:“01年1月1日星期三”如果只想获得当天的时间,请删除%d选项
firstday=`date -d "01 Jan $year" +'%A`
输出:2020年的第一天是:“星期三”在脚本中,您在哪里输出一周中的哪一天<代码>-${yearsago}year?为什么不干脆
date-d“${year}
?如果你知道年份,为什么要减法?@tmiliketurtles我提供的解决方案对你有效吗?有没有办法取而代之的方法?例如,Tue=2?感谢你的阅读man date
,它解释了所有可用的修饰符。然后研究如何在shell中进行算术运算,请参阅算术展开、研究模和除法运算符更改号码范围。明白了,是%u。谢谢