@@ -161,8 +161,10 @@ func difMouth(i1, i2 int64) (int, bool) {
y1, m1, d1 := st.Date()
y2, m2, d2 := et.Date()
difM := (y2-y1)*12 + int(m2-m1)
- // 如果结束日期的天数小于开始日期的天数,减少一个月
- if et.Before(st) {
+ // 额外判断天数是否需要调整
+ if d1 == 31 && (d2 == 30 || d2 == 28) {
+ //
+ } else if d1 > d2 {
difM--
}
return difM, d1 == d2