.net有没有计算当前日期是当年第几周的函数(急) .net有没有计算当前日期是当年第几周的函数??谢谢如果没有,有没有现成的算法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 老大,你先取Day先,计算出他是哪年的第几天,在除七不就可以了吗? string t = "2005-1-7"; DateTime dt = DateTime.Parse(t); int i; if(dt.DayOfYear%7==0) { i = dt.DayOfYear/7; } else { i = dt.DayOfYear/7+1; } MessageBox.Show(i.ToString()); 有这个的,你输入now然后输入"."就有个菜单,你看提示来找.我以前做过了. 看看DateTime.Now.DayOfWeek;DateTime.Now.DayOfYear,是不是你需要的。 string strDate =DateTime.Now.Year.ToString()+"-1-1";DateTime dtmFisrtDay=Convert.ToDateTime(strDate);string strWeek=dtmFisrtDay.DayOfWeek.ToString().ToLower();;int intweek=0;switch (strWeek) { case "saturday": intweek=7; break; case "thursday": intweek=5; break;......//其余的你自己补吧 } intweek=7-intweek;//第一周剩余的天数 int intOutPut=0;//要输出的周数 int intNow=DateTime.Now.DayOfYear; intOutPut=intNow/7; int intLoop=(intNow-1)%7;//因为每年的第一天已经算了一天,故此处应减一 intLoop=intLoop-intweek; if(intLoop>0) { intOutPut=intOutPut+2; } else { intOutPut=intOutPut+1; } 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); } Sorder(剑客)的没见过,学习我还是先改一下我昨天的方法string strDate =DateTime.Now.Year.ToString()+"-1-1"; DateTime dtmFisrtDay=Convert.ToDateTime(strDate); string strWeek=dtmFisrtDay.DayOfWeek.ToString().ToLower();; int intweek=0; switch (strWeek) { case "saturday": intweek=7; break; case "thursday": intweek=5; break; } intweek=8-intweek;//第一周剩余的天数 int intOutPut=0;//要输出的周数 int intNow=DateTime.Now.DayOfYear; intOutPut=intNow/7; int intLoop=intNow%7;//因为每年的第一天已经算了一天,故此处应减一 intLoop=intLoop-intweek; if(intLoop>0) { intOutPut=intOutPut+2; } else { intOutPut=intOutPut+1; } 以前还没用过日历控件,不过经验证Sorder(剑客)的方法完全可行,不过你必须添加Using System.Globalization;命名空间 log4net使用 求一个asp.net显示一篇文章的方法? C++程序转一下C# 浏览器突然出现不到服务器了?? excel导入到sql求代码? 没有多少分了! 日期格式变换 ,马上结账 大家帮帮忙,郁闷一礼拜了~ 一直搞不懂这个宽度怎么调...><" 我想提高!!!!! icyer进来拿分呀!!!!!!!! 有什么好的方法取一年中某周的星期一和星期天的日期? 如何实现网站在节日、用户注册周年的时候自动向其发送邮件?
DateTime dt = DateTime.Parse(t);
int i;
if(dt.DayOfYear%7==0)
{
i = dt.DayOfYear/7;
}
else
{
i = dt.DayOfYear/7+1;
}
MessageBox.Show(i.ToString());
DateTime dtmFisrtDay=Convert.ToDateTime(strDate);
string strWeek=dtmFisrtDay.DayOfWeek.ToString().ToLower();;
int intweek=0;
switch (strWeek)
{
case "saturday":
intweek=7;
break;
case "thursday":
intweek=5;
break;
......//其余的你自己补吧
}
intweek=7-intweek;//第一周剩余的天数 int intOutPut=0;//要输出的周数 int intNow=DateTime.Now.DayOfYear; intOutPut=intNow/7;
int intLoop=(intNow-1)%7;//因为每年的第一天已经算了一天,故此处应减一
intLoop=intLoop-intweek;
if(intLoop>0)
{
intOutPut=intOutPut+2;
}
else
{
intOutPut=intOutPut+1;
}
{
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);
}
我还是先改一下我昨天的方法
string strDate =DateTime.Now.Year.ToString()+"-1-1";
DateTime dtmFisrtDay=Convert.ToDateTime(strDate);
string strWeek=dtmFisrtDay.DayOfWeek.ToString().ToLower();;
int intweek=0; switch (strWeek)
{
case "saturday":
intweek=7;
break;
case "thursday":
intweek=5;
break;
}
intweek=8-intweek;//第一周剩余的天数 int intOutPut=0;//要输出的周数 int intNow=DateTime.Now.DayOfYear; intOutPut=intNow/7;
int intLoop=intNow%7;//因为每年的第一天已经算了一天,故此处应减一
intLoop=intLoop-intweek;
if(intLoop>0)
{
intOutPut=intOutPut+2;
}
else
{
intOutPut=intOutPut+1;
}
Sorder(剑客)的方法完全可行,
不过你必须添加
Using System.Globalization;命名空间