C#里的周计算,第几周,一周的开始......
来源:互联网 发布:excel 数据统计分析 编辑:程序博客网 时间:2024/05/02 04:18
public class GetWeekIndex { //如果12月31号与下一年的1月1好在同一个星期则算下一年的第一周 public static int Excute(DateTime dTime) { try { //确定此时间在一年中的位置 var dayOfYear = dTime.DayOfYear; //当年第一天 var tempDate = new DateTime(dTime.Year, 1, 1); //确定当年第一天 var tempDayOfWeek = (int)tempDate.DayOfWeek; tempDayOfWeek = tempDayOfWeek == 0 ? 7 : tempDayOfWeek; //确定星期几 var index = (int)dTime.DayOfWeek; index = index == 0 ? 7 : index; //当前周的范围 DateTime retStartDay = dTime.AddDays(-(index - 1)); DateTime retEndDay = dTime.AddDays(7 - index); //确定当前是第几周 var weekIndex = (int)Math.Ceiling(((double)dayOfYear + tempDayOfWeek - 1) / 7); if (retStartDay.Year < retEndDay.Year) { weekIndex = 1; } return weekIndex; } catch (Exception ex) { throw new Exception(ex.Message); } } public static int Excute(string strDate) { try { //需要判断的时间 DateTime dTime = Convert.ToDateTime(strDate); return Excute(dTime); } catch (Exception ex) { throw new Exception(ex.Message); } } }原文链接
下面补充一些:
/// <summary> /// 用年份和第几周来获得一周开始和结束的时间,这里用星期一做开始。 /// </summary> public static void GetWeek(int year, int weekNum, out DateTime weekStart, out DateTime weekeEnd) { var dateTime = new DateTime(year, 1, 1); dateTime = dateTime.AddDays(7 * weekNum); weekStart = dateTime.AddDays(-(int)dateTime.DayOfWeek + (int)DayOfWeek.Monday); weekeEnd = dateTime.AddDays((int)DayOfWeek.Saturday - (int)dateTime.DayOfWeek + 1); }
/// <summary> 求某年有多少周 /// </summary> public static int GetYearWeekCount(int year) { var dateTime = DateTime.Parse(year + "-01-01"); var firstDayOfWeek = Convert.ToInt32(dateTime.DayOfWeek);//得到该年的第一天是周几 if (firstDayOfWeek == 1) { var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear; var countWeek = countDay / 7 + 1; return countWeek; } else { var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear; var countWeek = countDay / 7 + 2; return countWeek; } }
/// <summary> /// 求当前日期是一年的中第几周 /// </summary> public static int WeekOfYear(DateTime todayTime) { var firstdayofweek = Convert.ToInt32(Convert.ToDateTime(todayTime.Year.ToString(CultureInfo.InvariantCulture) + "- " + "1-1 ").DayOfWeek); var days = todayTime.DayOfYear; var daysOutOneWeek = days - (7 - firstdayofweek); if (daysOutOneWeek <= 0) { return 1; } var weeks = daysOutOneWeek/7; if (daysOutOneWeek%7 != 0) weeks++; return weeks + 1; }
/// <summary> /// 当前月有多少天 /// </summary> public static int HowMonthDay(int year, int month) { int next_month; int next_year; if (month < 12) { next_month = month + 1; next_year = year; } else { next_month = 1; next_year = year + 1; } DateTime dt1 = Convert.ToDateTime(year + "-" + month + "-1"); DateTime dt2 = Convert.ToDateTime(next_year + "-" + next_month + "-1"); TimeSpan diff = dt2 - dt1; return diff.Days; }
- C#里的周计算,第几周,一周的开始......
- C# 中计算第几周的几种方法
- 以周一为一周的第一天来计算当前时间是本月的第几周
- 根据日期计算属于第几周(周日是一周的第一天)
- C#判断两个日期是否在同一周,某日期是本月的第几周
- Domino计算当前日期是这一年的第几周,以及计算任意一周都分别是哪七天?
- 计算今天为今年的第几周
- 计算今天是今年的第几周
- .Net时间计算函数,统计某一天是一年的第几周,这一周从哪天开始到哪天结束
- .Net时间计算函数,统计某一天是一年的第几周,这一周从哪天开始到哪天结束
- C# / ASP.NET 计算某个日期所在的周是当年的第几周
- 获取某年第几周的开始日期和结束日期
- 根据具体日期计算是一年的第几周和当月的第几周
- 计算当前周是一年中的第几周的函数
- 如何计算当前日期是当年的第几周?
- 计算当前日期是当年第几周的函数
- 如何计算当前时间是本年的第几个周?
- sql server计算日期为当月的第几周
- oracle 数据类型与java对照
- linux 2.6.23时钟中断与调度分析
- 窄边框+单反画质,HTC One系列概念机One C
- 风柔月清,吾爱在浅秋
- SQL Server 索引结构及其使用(二、改善SQL语句)
- C#里的周计算,第几周,一周的开始......
- 使用仿真器调试自己编译的framework和打包的system.img
- 工厂模式
- GB2312编码表
- Linux rpm 命令参数使用详解
- AS3 服务端、客户端协议路由简单写法 ---- AS3 Server、Client Router Demo
- 哈希表
- #import说明
- ArcGIS API for Silverlight 调用GP服务加载等值线图层