我希望使用date
或bash
找到任意日期后57个工作日的日期。例如,
答案 0 :(得分:2)
这应该可以解决所有日子
date -d '7/15/14 +57 days'
要获得工作天数(M..F),你可以做一些像这样懒惰的事情
#!/bin/bash
days=0
for ((i=1;i>0;i++)) do
future=$(date -d "7/15/14 +$i days" '+%w')
((future!=0 && future!=6)) && ((days++)) # ignore sunday (0) and saturday (6)
((days==57)) && date -d "7/15/14 +$i days" && break
done
e.g。
> ./abovescript
> Thu Oct 2 00:00:00 CDT 2014
答案 1 :(得分:0)
奇怪的解决方案:
day=21
mon=8
year=2014
days=4
curl -s "http://www.timeanddate.com/scripts/dateserver.php?mode=addweekdays&d1=$day&m1=$mon&y1=$year&type=add&ad=$days&atyp=0&ach=3" | sed -n 's|.*<h2>Result: \(.*\)</h2>.*|\1|p'
打印
Wednesday, August 27, 2014
自2014.08.21起4个工作日后的日期
用于
day=15
mon=7
year=2014
days=57
打印
Friday, October 3, 2014