gpt4 book ai didi

linux - 如何在linux命令中检查指定范围内每一天的日期输出

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:31 26 4
gpt4 key购买 nike

我有这个命令 date -d "-0 month -$(($(date +%d)-1)) days"+%Y%m%d,我喜欢知道 2014-Sep-1 和 2014-Sep-30 之间的所有日子,返回的结果是什么。

如何在不改变我的系统时钟的情况下模拟这个?

最佳答案

您可以再次为date 使用-d 选项。

$ date -d "2014-09-01"
Mon Sep 1 00:00:00 CEST 2014
$ date -d "2014-09-01 + 1 day"
Tue Sep 2 00:00:00 CEST 2014

有点像

for i in `seq 0 29`
do
today=$(date -d "2014-09-01 + $i days" '+%F')
day=$(date -d "2014-09-01 + $i days" '+%-d')
date -d "$today -0 month -$(($day - 1)) days" '+%Y%m%d'
done

应该可以解决问题。请注意,我已将格式说明符更改为 %-d。否则,shell 会将前九个值解释为八进制,这对于 08 和 09 将失败。

但是,我不太确定您最终想要实现的目标。如果只想打印该月的第一天,

$ date '+%Y%m01'

看起来很多更简单。

关于linux - 如何在linux命令中检查指定范围内每一天的日期输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26170558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com