Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 星期一和星期天等。。在Unix中作为参数的任何日期的一周_Linux_Shell_Unix_Centos_Unix Timestamp - Fatal编程技术网

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