C# DateTime 月第一天和最后一天 取法

本文提供了C#中处理日期和时间的各种实用方法,包括获取指定月份的第一天和最后一天、上个月的第一天和最后一天,以及如何计算本周、上周、本月、本季度和本年度的起止日期。

取得某月和上个月第一天和最后一天的方法  

 

C# DateTime 日期加1天 减一天 加一月 减一月 等方法

  

### 获取 C# 中本第一天最后一天的日期 在 C# 中,可以通过 `DateTime` `DateTimeOffset` 类型结合一些简单的逻辑来获取当前份的第一天最后一天。以下是一个完整的示例代码,展示了如何实现这一点: ```csharp using System; class Program { static void Main() { // 获取当前日期时间 DateTime today = DateTime.Today; // 获取本第一天 DateTime firstDayOfMonth = new DateTime(today.Year, today.Month, 1); // 获取本最后一天 DateTime lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); Console.WriteLine("本第一天是: " + firstDayOfMonth.ToString("yyyy-MM-dd")); Console.WriteLine("本最后一天是: " + lastDayOfMonth.ToString("yyyy-MM-dd")); } } ``` 上述代码中,首先通过 `DateTime.Today` 获取当前日期(不包含时间部分),然后构造一个表示本第一天的 `DateTime` 对象。为了获得最后一天,可以使用 `AddMonths(1)` 将日期移动到下个第一天,再使用 `AddDays(-1)` 回退一天[^2]。 ### 使用 `DateTimeOffset` 如果需要考虑时区或更复杂的场景,可以使用 `DateTimeOffset` 类型进行类似操作: ```csharp DateTimeOffset todayOffset = DateTimeOffset.Now.Date; DateTimeOffset firstDay = new DateTimeOffset(todayOffset.Year, todayOffset.Month, 1, 0, 0, 0, todayOffset.Offset); DateTimeOffset lastDay = firstDay.AddMonths(1).AddDays(-1); Console.WriteLine("本第一天是: " + firstDay.ToString("yyyy-MM-dd")); Console.WriteLine("本最后一天是: " + lastDay.ToString("yyyy-MM-dd")); ``` 这种方法确保了即使在不同的时区下,也能正确计算出每个第一天最后一天[^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值