Linux 星期一和星期天等。。在Unix中作为参数的任何日期的一周
如何获得一周中周一和周日的约会日期 这给出了“最后一个”星期一的日期:Linux 星期一和星期天等。。在Unix中作为参数的任何日期的一周,linux,shell,unix,centos,unix-timestamp,Linux,Shell,Unix,Centos,Unix Timestamp,如何获得一周中周一和周日的约会日期 这给出了“最后一个”星期一的日期: date -dlast-monday +%Y%m%d 我想传递一个日期作为参数以查找该周的周一和周日。基本上,我想在一周内得到周日和周一,任何日期,而不仅仅是上周一试试以下方法: export day=2013-10-01 date -d "$day -$(date -d $day +%w) days" 这将始终打印给定日期(或日期本身)之前的星期日 这将始终打印给定日期之前的星期日(而不是日期本身) 对于周一,您需要添
date -dlast-monday +%Y%m%d
我想传递一个日期作为参数以查找该周的周一和周日。基本上,我想在一周内得到周日和周一,任何日期,而不仅仅是上周一试试以下方法:
export day=2013-10-01
date -d "$day -$(date -d $day +%w) days"
这将始终打印给定日期(或日期本身)之前的星期日
这将始终打印给定日期之前的星期日(而不是日期本身)
对于周一,您需要添加+1天
:
date -d "$day -$(date -d $day +%u) days + 1 day"
你也应该考虑一下星期一或星期日你想得到什么(这还不太清楚)。这也取决于你认为星期日是一周的第一天还是最后一天。 < P> <代码>日期>代码>可以在命令行上解析日期:
date -j -f %s 1380628152
这是自UNIX纪元以来的日期+时间(以秒为单位)。您可以将上面的命令与您的命令相结合。-j表示您不想实际设置日期。-f指定用于在命令行上解析日期的strftime字符串
请注意,这是在BSD系统上,看起来您现在使用的GNU系统具有不同的选项(但它必须支持类似的选项)。如何将此输出格式化为YYYY-MM-DD格式?将
+%F
附加到命令行:date-d“$day-$(date-d$day++%u)days”+%F
date -j -f %s 1380628152