本文主要是介绍计算某日期为当年第几周算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,数据库计算
一周是从周日到周六
select DateName(week,getdate())
一周是从周一到周日
set datefirst 1 select DateName(week,getdate())
指示一周的第一天的一个整数。可以是下列值之一。
值 | 一周的第一天是 |
---|---|
1 | 星期一 |
2 | 星期二 |
3 | 星期三 |
4 | 星期四 |
5 | 星期五 |
6 | 星期六 |
7(默认值,美国英语) | 星期日 |
2,c#计算
一周是从周日到周六
/// <summary>/// 当前日期为当前年份周数/// </summary>/// <param name="Date">当前时间</param>/// <returns>周数</returns>private int GetWeekOrderOfDate(DateTime Date){//当天所在的年份int year = Date.Year;//当年的第一天DateTime firstDay = new DateTime(year, 1, 1);//当年的第一天是星期几int firstOfWeek = Convert.ToInt32(firstDay.DayOfWeek);//if (firstDay.DayOfWeek == DayOfWeek.Sunday) firstOfWeek = 7;//当年第一周的天数int firstWeekDayNum = 7 - firstOfWeek;//传入日期在当年的天数与第一周天数的差int otherDays = Date.DayOfYear - firstWeekDayNum;//传入日期不在第一周内if (otherDays > 0){int weekNumOfOtherDays;if (otherDays % 7 == 0){weekNumOfOtherDays = otherDays / 7;}else{weekNumOfOtherDays = otherDays / 7 + 1;}return weekNumOfOtherDays + 1;}//传入日期在第一周内else{return 1;}}
一周是从周一到周日
/// <summary>/// 当前日期为当前年份周数/// </summary>/// <param name="Date">当前时间</param>/// <returns>周数</returns>private int GetWeekOrderOfDate(DateTime Date){//当天所在的年份int year = Date.Year;//当年的第一天DateTime firstDay = new DateTime(year, 1, 1);//当年的第一天是星期几int firstOfWeek = Convert.ToInt32(firstDay.DayOfWeek);if (firstDay.DayOfWeek == DayOfWeek.Sunday) firstOfWeek = 7;//当年第一周的天数int firstWeekDayNum = 8 - firstOfWeek;//传入日期在当年的天数与第一周天数的差int otherDays = Date.DayOfYear - firstWeekDayNum;//传入日期不在第一周内if (otherDays > 0){int weekNumOfOtherDays;if (otherDays % 7 == 0){weekNumOfOtherDays = otherDays / 7;}else{weekNumOfOtherDays = otherDays / 7 + 1;}return weekNumOfOtherDays + 1;}//传入日期在第一周内else{return 1;}}
方法2:
public int WeekOfYear(DateTime dt, CultureInfo ci){return ci.Calendar.GetWeekOfYear(dt, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek);}
调用方法 周日到周六算一周
WeekOfYear(Convert.ToDateTime("2012-1-2 00:00:00"),new CultureInfo("zh-CN"))
http://msdn.microsoft.com/zh-cn/library/system.globalization.cultureinfo(VS.80).aspx
这篇关于计算某日期为当年第几周算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!