我知道如何使用date --date="sat. last week" +"%m%d%Y"
获取上周六的日期但是,我无法获得特定日期的最后一个星期六日期。
我想找一个给定日期的最后一个星期六的日期。例如,我们假设给定日期为 20140605
( YYYYMMDD 格式)或该特定周的任何工作日日期。该给定日期可以是该星期六的下一周的任何工作日日期(20140602-20140606),我需要得出该日期之前一周的星期六日期(在我的情况下)= {{1} } 即可。我怎样才能做到这一点?
答案 0 :(得分:2)
我只是在键盘上扒了一下,但这似乎有效:
D="20140605"; date --date "$D $[($(date --date "$D" +%u) + 1) % 7] days ago" +"%Y%m%d"
答案 1 :(得分:0)
我有一个小的Python代码段:
from datetime import datetime, timedelta
import sys
fmt = "%Y%m%d"
daystring = sys.argv[1]
day = datetime.strptime(daystring, fmt)
for d in range(7):
# Go back a few days, but not more than 6.
testdate = day - timedelta(days=d)
# If the test date is a saturday (0 is monday, 6 sunday), output that date.
if testdate.weekday() == 5:
print testdate.strftime(fmt)
测试:
$ python test.py 20140605
20140531