C# 获取月份、周、操作时间

7 篇文章 0 订阅
3 篇文章 0 订阅

获取指定月份指定周数的开始日期

 private DateTime GetStartDayOfWeeks(int year, int month, int index)
 {
     if (year < 1600 || year > 9999)
     {
         return DateTime.MinValue;
     }
     if (month < 0 || month > 12)
     {
         return DateTime.MinValue;
     }
     if (index < 1)
     {
         return DateTime.MinValue;
     }
     DateTime startMonth = new DateTime(year, month, 1);  //该月第一天  
     int dayOfWeek = 7;
     if (Convert.ToInt32(startMonth.DayOfWeek.ToString("d")) > 0)
         dayOfWeek = Convert.ToInt32(startMonth.DayOfWeek.ToString("d"));  //该月第一天为星期几  
     DateTime startWeek = startMonth.AddDays(1 - dayOfWeek);  //该月第一周开始日期  
     //DateTime startDayOfWeeks = startWeek.AddDays((index - 1) * 7);  //index周的起始日期  
     DateTime startDayOfWeeks = startWeek.AddDays(index * 7);  //index周的起始日期  
     if ((startDayOfWeeks - startMonth.AddMonths(1)).Days > 0)  //startDayOfWeeks不在该月范围内  
     {
         Response.Write("<script>alert('输入周数大于本月最大周数')</script>");
         return DateTime.MinValue;
     }
     return startDayOfWeeks;
 }

获取某日期是当月的第几周

 public static int WeekOfMonth(DateTime day, int WeekStart)
 {
      //WeekStart                                                                      
      //1表示 周一至周日 为一周                                                        
      //2表示 周日至周六 为一周                                                        
      DateTime FirstofMonth;
      FirstofMonth = Convert.ToDateTime(day.Date.Year + "-" + day.Date.Month + "-" + 1);
      int i = (int)FirstofMonth.Date.DayOfWeek;
      if (i == 0)
      {
          i = 7;
      }
      if (WeekStart == 1)
      {
          return (day.Date.Day + i - 2) / 7 + 1;
      }
      if (WeekStart == 2)
      {
          return (day.Date.Day + i - 1) / 7;
      }
      return 0;
      //错误返回值0                                                                    
  }   

计算周几:
C#写法:

public string GetWeek(string dateTime)
 {
      string[] ymd = dateTime.Split(new char[] { '/', '-' });
      string timeStr = ymd[0] + "/" + ymd[1] + "/" + ymd[2] + " 10:00:00";
      string week = "";
      switch (Convert.ToDateTime(timeStr).DayOfWeek.ToString())
      {
          case "Monday":
              week = "星期一";
              break;
          case "Tuesday":
              week = "星期二";
              break;
          case "Wednesday":
              week = "星期三";
              break;
          case "Thursday":
              week = "星期四";
              break;
          case "Friday":
              week = "星期五";
              break;
          case "Saturday":
              week = "星期六";
              break;
          case "Sunday":
              week = "星期日";
              break;
      }
      return week;
  }

Jquery写法:

$("#tb_CallTime").blur(function () {
                var date = $("#tb_CallTime").val();
                var day = new Date(Date.parse(date));
                var today = new Array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
                var week = today[day.getDay()];
                $("#lb_Week").text(week);
            });

获取当前月的第一天和当前月的最后一天

 DateTime StartDate = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01");
 DateTime EndDate= startdate.AddMonths(1).AddDays(-1);

获取当前年有多少周

public int YearWeek(int Year)
{
    DateTime FirstDay = (Year + "-01-01").GetDateTime();
    TimeSpan ts = FirstDay.AddYears(1) - FirstDay;
    int Week = (Math.Ceiling(ts.Days / 7.0) + 1).GetInt32();
    return Week;
}

获取当前时间所属季度

public string GetSeasonStr(string Month)
 {
     string Season = string.Empty;
     switch (Month)
     {
         case "1":
         case "2":
         case "3":
             Season = "第一季度";
             break;
         case "4":
         case "5":
         case "6":
             Season = "第二季度";
             break;
         case "7":
         case "8":
         case "9":
             Season = "第三季度";
             break;
         case "10":
         case "11":
         case "12":
             Season = "第四季度";
             break;
     }
     return Season;
 }
 public string GetGetSeason()
 {
    String Month=DateTime.Now.Month.Tostring();
    return GetSeasonStr(Month);
 }

获取当前时间是本年的第几周

public int GetYearWeekByNow(DateTime dt)
 {
     int FirstWeek = (dt.Year + "-01-01").GetDateTime().DayOfYear;
     int CurrDay = dt.Date.DayOfYear;
     int Week = (Math.Ceiling((CurrDay - FirstWeek) / 7.0) + 1).GetInt32();
     return Week;
 }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值