怎么获得下个星期一和星期五?
怎么获得下个星期一和星期五?
如果给定一天,比如说2006-5-1,怎么获得该周是2006年的第几个周?
问题点数:10、回复次数:5Top
1 楼singlepine(小山)回复于 2006-05-04 13:42:02 得分 10
protected void Page_Load(object sender, EventArgs e)
{
//获得该周是2006年的第几个周
DateTime dt = Convert.ToDateTime("2006-05-01");
int weeks = dt.DayOfYear / 7 + 1;
Response.Write(weeks);
//获得下个星期一和星期五
DateTime firstdate;
DateTime lastdate;
DateTime date = System.DateTime.Now;
ConvertDateToWeek(date, out firstdate, out lastdate);
Response.Write(firstdate + " " + lastdate);
}
public void ConvertDateToWeek(DateTime date, out DateTime firstdate, out DateTime lastdate)
{
DateTime first = System.DateTime.Now;
DateTime last = System.DateTime.Now;
switch (date.DayOfWeek)
{
case System.DayOfWeek.Monday:
first = date.AddDays(7);
last = date.AddDays(12);
break;
case System.DayOfWeek.Tuesday:
first = date.AddDays(6);
last = date.AddDays(11);
break;
case System.DayOfWeek.Wednesday:
first = date.AddDays(5);
last = date.AddDays(10);
break;
case System.DayOfWeek.Thursday:
first = date.AddDays(4);
last = date.AddDays(9);
break;
case System.DayOfWeek.Friday:
first = date.AddDays(3);
last = date.AddDays(8);
break;
case System.DayOfWeek.Saturday:
first = date.AddDays(2);
last = date.AddDays(7);
break;
case System.DayOfWeek.Sunday:
first = date.AddDays(1);
last = date.AddDays(6);
break;
}
firstdate = first;
lastdate = last;
}Top
2 楼johnny1983()回复于 2006-05-04 13:42:09 得分 0
mark&upTop
3 楼webwalker(Jason.Xu@BenQ.com)回复于 2006-05-04 13:57:13 得分 0
不要那么复杂吧Top
4 楼fafenglea(光里光)回复于 2006-05-04 14:11:17 得分 0
没有系统提供的函数吗?Top
5 楼ladOnTheBrinkOfRage(愤怒边缘的青年)回复于 2006-05-04 15:15:36 得分 0
Using System.Globalization;
protected int GetWeekOfYear(DateTime dt)
{
CultureInfo ci = CultureInfo.CurrentCulture;
System.Globalization.Calendar cal = ci.Calendar;
CalendarWeekRule cwr = ci.DateTimeFormat.CalendarWeekRule;
DayOfWeek dow = ci.DateTimeFormat.FirstDayOfWeek;
return cal.GetWeekOfYear(dt, cwr, dow);
}
Top




