【发布时间】:2018-05-15 09:17:26
【问题描述】:
我想创建一个新的 DateTime 对象,所以:
endDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month+1, 1).AddDays(-1);
虽然,当当前月份是 12 月时,此代码会发生错误,因为是一年中的最后一个月。在创建新的 DateTime 对象时,有什么方法可以避免过年?
欢迎任何帮助!
【问题讨论】:
-
你预计什么日期?
-
更改逻辑如下:
new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1) -
下个月的第一天你到底在追求什么?
-
听起来您正在尝试获取当前月份的最后一个日期。也许使用
AddMonths(1),然后从那里回溯?请注意,如果 DST 发生在月底,它可能会很有趣...... -
DateTime today = DateTime.Today; DateTime monthEnd = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month));