有没有办法计算特定年份范围内的天数?
例如,(我的列是员工,开始日期,结束日期,列DK = 2009-2016年)如果我的开始日期是1/5/2008,我的结束日期是2011年6月9日,我想要了解这些年间在2008年,2009年,2010年和2011年经过的天数。
我尝试了以下
package bashutil
import (
"fmt"
"github.com/nsf/termbox-go"
)
func Center(s string) {
if err := termbox.Init(); err != nil {
panic(err)
}
w, _ := termbox.Size()
termbox.Close()
fmt.Printf(
fmt.Sprintf("%%-%ds", w/2),
fmt.Sprintf(fmt.Sprintf("%%%ds", w/2+len(s)/2), s),
)
}
但是只返回最早年份范围内的天数总和,并且如果范围跨越多年,则不会分配接下来几年的天数。
答案 0 :(得分:1)
获取两个日期范围之间重叠的标准公式是
=MAX(MIN(end1,end2)-MAX(start1,start2)+1,0)
See this reference for example
如此适应你年龄的情况
=MAX(MIN($C2,DATE(D$1,12,31))-MAX($B2,DATE(D$1,1,1))+1,0)
答案 1 :(得分:0)