您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

计算两个日期之间月份的差异

计算两个日期之间月份的差异

您将无法从中获取价格TimeSpan,因为“月”是可变的计量单位。您必须自己计算它,并且必须弄清楚您希望它如何工作。

例如,要日期喜欢July 5, 2009August 4, 2009产生一个月或零月区别?如果你说这应该产生一个,然后怎么样July 31, 2009August 1, 2009?是 一个月?它仅仅是Month日期值的差异,还是与实际时间跨度更相关?确定所有这些规则的逻辑很重要,因此您必须确定自己的规则并实施适当的算法。

如果您想要的只是月份中的不同(完全不考虑日期值),则可以使用以下方法

public static int MonthDifference(this DateTime lValue, DateTime rValue)
{
    return (lValue.Month - rValue.Month) + 12 * (lValue.Year - rValue.Year);
}

请注意,这将返回一个相对差,这意味着如果rValue大于lValue,则返回值将为负。如果需要绝对差异,可以使用以下方法

public static int MonthDifference(this DateTime lValue, DateTime rValue)
{
    return Math.Abs((lValue.Month - rValue.Month) + 12 * (lValue.Year - rValue.Year));
}
其他 2022/1/1 18:14:03 有562人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶