asp.net关于时间方法,当前月有多少天、求某年有多少周、求当前日期是一年的中第几周

1.某个年月有多少天
HowMonthDay
 ///  某个年月有多少天 
    
/// </summary> 
    
/// <param name="y"></param> 
    
/// <param name="m"></param> 
    
/// <returns></returns> 

    public static int HowMonthDay(int y, int m)
    {
        int mnext;
        int ynext;
        if (m < 12)
        {
            mnext = m + 1;
            ynext = y;
        }
        else
        {
            mnext = 1;
            ynext = y + 1;
        }
        DateTime dt1 = System.Convert.ToDateTime(y + "-" + m + "-1");
        DateTime dt2 = System.Convert.ToDateTime(ynext + "-" + mnext + "-1");
        TimeSpan diff = dt2 - dt1;
        return diff.Days;
    } 
 

2.某年有多少周

GetYearWeekCount 

    /// <summary> 
    
/// 求某年有多少周 
    
/// 返回 int 
    
/// </summary> 
    
/// <param name="strYear"></param> 
    
/// <returns>int</returns> 
    public static int GetYearWeekCount(int strYear)
    {
        System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");
        int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几 
        if (k == 1)
        {
            int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
            int countWeek = countDay / 7 + 1;
            return countWeek;

        }
        else
        {
            int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
            int countWeek = countDay / 7 + 2;
            return countWeek;
        }

    } 

3.某日期是一年的中第几周

 WeekOfYear

     ///   <summary>  
    
///  求某日期是一年的中第几周 
    
///   </summary>  
    
///   <param name="date"></param>  
    
///   <returns></returns>  
     public  static  int WeekOfYear(DateTime curDay)
    {
         int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() +  " " +  " 1-1  ").DayOfWeek);

         int days = curDay.DayOfYear;
         int daysOutOneWeek = days - ( 7 - firstdayofweek);

         if (daysOutOneWeek <=  0)
        {
             return  1;
        }
         else
        {
             int weeks = daysOutOneWeek /  7;
             if (daysOutOneWeek %  7 !=  0)
                weeks++;

             return weeks +  1;
        }
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值