比如: 时间:2010-08-19 为当年的第几周?
解决方案 »
- 通过sql语句删除字段,报索引 'index3' 依赖于 列 'ICPASS'。在线等
- ------一个简单问题,vs2005里面怎么做安装文件啊???
- 用C# wpf同时开发桌面程序和web程序是否可实现重复应用代码实现?
- 如何给access表动态添加字段,并且能够指定添加字段的位置?
- c# 实现visio那种软件功能
- 有关WinForm界面的问题
- 请问在一个dll文件中只有一个类,假如类有几百个方法或函数,包含使用时是不是很慢?
- 急急!请版主和高手兄弟们帮助我一个困惑我很久的上下文菜单问题!多谢,我在线等待
- Report.rdlc报表怎么分组统计问题
- C#有什么好的图像显示插件
- 如何去除字符串中指定字符
- 跪求:winform 框架问题,请帮忙解决下!
参考
private int DatePart(System.DateTime dt)
{
int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几
int daydiff = (-1) * (weeknow + 1);//今日与上周末的天数差
int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;//上周末是本年第几天
int weeks = days / 7;
if (days % 7 != 0)
{
weeks++;
}
//此时,weeks为上周是本年的第几周
return (weeks + 1);
}
DateTime dt = Convert.ToDateTime("2010-08-19");
Response.Write(DatePart(dt).ToString()); //结果:34
{
int weeknum = 1; //默认的周数从1开始
DateTime firstdate = DateTime.Parse(dtime.Year.ToString() + "-1" + "-1");
DayOfWeek firstweek = firstdate .DayOfWeek;
for (int i = (int)firstweek + 1; i <= dtime.DayOfYear; i = i + 7)
{
weeknum = weeknum + 1;
}
return weeknum ;
}
时间范围
//目标日期
DateTime dt = DateTime.Now; //该年1月1日所在的周,定义为第一周,sunday为0,monday为1
DateTime dtFirst = new DateTime(dt.Year, 1, 1); //目标日期距离第一天的天数
int daysCount = Convert.ToInt32((dt - dtFirst).TotalDays); //将第一天的日期补齐
daysCount += Convert.ToInt32(dtFirst.DayOfWeek); //目标日期所在的周
int weeksCount = daysCount / 7; //目标日期所在的天
int dayIdx = Convert.ToInt32(dt.DayOfWeek); //显示结果
Console.WriteLine("日期" + dt.ToShortDateString() + "是第" + (weeksCount + 1).ToString() + "周的第" + dayIdx.ToString() + "天。");