📅  最后修改于: 2023-12-03 14:59:41.402000             🧑  作者: Mango
在开发中,我们经常需要处理一些跟日期相关的逻辑。比如计算某个日期是今天、昨天、上周还是上个月。在 C# 中,针对日期时间的处理有许多强大的库和类,本文将介绍如何使用 C# 计算今天、昨天、上周、上个月。
要计算今天的日期,我们可以直接使用 DateTime.Today
属性:
// 当前时间
DateTime currentTime = DateTime.Now;
// 今天的日期
DateTime today = DateTime.Today;
计算昨天的日期稍微复杂一些。可以通过当前时间减去一天之后,再取出日期部分得到昨天的日期。
// 昨天的日期
DateTime yesterday = DateTime.Today.AddDays(-1);
要计算上周的开始日期和结束日期,我们可以分别取出当前时间所在周的开始日期,然后减去一天,得到上周的结束日期;再减去 6 天,得到上周的开始日期。
// 上周的结束日期(上个星期日)
DateTime lastWeekEnd = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek).AddDays(-1);
// 上周的开始日期(上个星期一)
DateTime lastWeekStart = lastWeekEnd.AddDays(-6);
计算上个月的开始日期和结束日期也相对复杂。我们可以先取出当前时间所在月份的第一天,然后减去一天,得到上个月的结束日期;再取出上个月份的第一天,得到上个月的开始日期。
// 上个月的结束日期
DateTime lastMonthEnd = DateTime.Today.AddDays(-(DateTime.Today.Day)).AddDays(-1);
// 上个月的开始日期
DateTime lastMonthStart = DateTime.Today.AddDays(-(DateTime.Today.Day)).AddDays(-lastMonthEnd.Day + 1);
以上就是计算 C# 今天、昨天、上周、上个月的方法。在实际开发中,我们可以根据自己的需求对这些方法进行扩展或封装。