代码改变世界

求每个年,月,周的起始日期和结束日期

  蓝之风  阅读(713)  评论(0编辑  收藏  举报

我们在写程序的时候往往要计算出年,月,周的开始日期和结束日期,在这里给出统一求解方法

/// <summary>
        
/// 声明期间类型枚举
        
/// </summary>

        public enum Period {Day, Week, Month, Year};
      
/// <summary>
        
/// 获取指定期间的起止日期
        
/// </summary>
        
/// <param name="period">期间类型</param>
        
/// <param name="beginDate">开始日期</param>
        
/// <param name="endDate">结束日期</param>

        public static void GetPeriod(Period period, out DateTime beginDate, out DateTime endDate)
        
{
            
int year = DateTime.Today.Year;
            
int month = DateTime.Today.Month;
            
switch (period)
            
{
                
case Period.Year: //
                    beginDate = new DateTime(year, 11);
                    endDate 
= new DateTime(year, 1231); 
                    
break;
                
case Period.Month: //
                    beginDate = new DateTime(year, month, 1);
                    endDate 
= beginDate.AddMonths(1).AddDays(-1);
                    
break;
                
case Period.Week: //
                    int week = (int)DateTime.Today.DayOfWeek;
                    
if (week == 0) week = 7//周日
                    beginDate = DateTime.Today.AddDays(-(week - 1));
                    endDate 
= beginDate.AddDays(6);
                    
break;
                
default//
                    beginDate = DateTime.Today;
                    endDate 
= DateTime.Today;
                    
break;
            }

        }
        
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示