osx星期一约会当前周bash

时间:2017-06-20 10:20:30

标签: bash macos date

我需要获取所有日期的数组 OSX中BASH 4当周的一周。

我试图获得星期一的约会, 但在OSX上,日期与Linux(gdate)

的工作方式不同

我需要的结果:

array=(
'YYYY-MM-DD', # MONDAY
'YYYY-MM-DD', # TUESDAY
'YYYY-MM-DD', # WEDNESDAY
'YYYY-MM-DD', # THURSDAY
'YYYY-MM-DD', # FRIDAY
'YYYY-MM-DD', # SATURDAY
'YYYY-MM-DD') # SUNDAY

我是bash的新手,尝试了2个小时 在互联网上找东西,没有成功。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

你试过man date吗?

date -v-monday

获取调整后的日期,以便工作日是上一个星期一。如果它是星期一它给出当天,所以如果你丢弃小时,分钟和秒你就得到了一周中第一天的日期。

date -v-monday +'%Y-%m-%d'

获取您请求的格式。要获得下一个日期您可以使用-v进一步调整,例如date -v-monday -v+1d +'%Y-%m-%d'给出当周星期二的日期。

完全回答你的问题:

#!/bin/bash

for i in $(seq 0 6)
do
    WEEKDAYS[$i]=`date -v-monday -v+"$i"d +'%Y-%m-%d'`
done;