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

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

ExpandedBlockStart.gif /// <summary>
InBlock.gif        
/// 声明期间类型枚举
ExpandedBlockEnd.gif        
/// </summary>

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

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

ExpandedBlockEnd.gif        }
        
None.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值