检查最近的日子

时间:2019-03-07 17:39:06

标签: date comparison

这很难解释,但是

我有2个日期,除非这2个日期具有相同的年份,否则我会对日期和月份感兴趣

2015/12/30和2019/01/04

忽略上面预计的两个日期的结果的年份部分(种类)

如果我要使用date.DayOfYear我将分别获得364(2015/12/30)和4(2019/01/04)

如果年份相同,那么  2019/01/04 2019/12/30然后我期望的结果是359天的差异

是否有一种聪明的方法可以在不添加if语句的情况下完成代码?

1 个答案:

答案 0 :(得分:0)

如果年差仅为0或1,则可以将两个日期都转换为绝对值(以秒,ms,unix时间或其他任何形式),减去2的值并将其转换为整天。但是,如果您有超过1年的差异(如2015年和2019年),那么您就必须“如果”考虑您实际上在做什么。您不应该使用DayOfYear,因为有些年份有366天,因此不能确定364对应于该年剩余的1或2天。