惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园 - 【当耐特】
博客园 - 叶小钗
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
宝玉的分享
宝玉的分享
小众软件
小众软件
罗磊的独立博客
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog

博客园 - zjy

ligerui.grid.extend.rowSpan 用户中心 - 博客园 用户中心 - 博客园 OnClientClick 从通用分页存储过程[ROWCOUNT方式]抽出适合自己需求的分页过程 防SQL注入 用户中心 - 博客园 [CS0030错误]奇怪:难不成ChangePassword也是系统用名? DataTable中统计列中不同行问题 推荐个C#不错的开发工具(新版本SharpDevelop) 安装IE7 Visual Studio出现调试不够权限的解决办法 求助:UltraWebGrid当用xml paging(ajax)时,如何取其子表的band的index或者子表行信息?(NetAdvantage) 解决UltraWebGrid分页时出现的脚本错误(Infragistics的Bug) 解决infragistics的webgrid嵌套子表列名在ajax下(xml paging)出现的乱码问题 修改上传文件控件样式并实现上传文件功能 用页传值方式解决模态窗口的Response.WriteFile文件下载 DataTable添加列时容易被忽略的问题! 重构oninit,应用在模式窗口的方法 Web导出Word需要添加头文件 - zjy - 博客园
获取一个星期时间段的具体日期
zjy · 2006-08-17 · via 博客园 - zjy

经常要需要得出某一日期是星期几,或者需要在一个星期段中获取数据
下面是实现方法,有3段程序,分别为"数据绑定"过程,"上一周"和"下一周"按钮
说明:当点击上一周,求出Session[StartDate]和Session[DueDate],然后根据这个时间段,来求数据.
//iWeek.ToString()为第几周
//dStartDate.Month.ToString()在一个星期段中开始月份
//dStartDate.Day.ToString()在一个星期段中开始日期
//dDueDate.Month.ToString()在一个星期段中结束月份
//dDueDate.Day.ToString()在一个星期段中结束日期
//Session[StartDate]和Session[DueDate]就是时间段了

1.数据绑定过程

private void InitFormData() 
 
{   
   System.Globalization.Calendar ce 
= new GregorianCalendar();
   
int iWeek = ce.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
   
int iDay = (int) DateTime.Now.DayOfWeek;  
    DateTime dStartDate 
= DateTime.Now.AddDays( -(iDay - 1));  
    DateTime dDueDate 
= DateTime.Now.AddDays( -(iDay - 1+ 6 );
   Session[
"StartDate"= dStartDate.ToShortDateString() + " 0:00:00";
   Session[
"DueDate"= dDueDate.ToShortDateString() + " 23:59:59";
}

2.上一周按钮事件

1private void btnPrevious_Click(object sender, System.EventArgs e)  {
2   System.Globalization.Calendar ce = new GregorianCalendar();  
3 DateTime dStartDate = DateTime.Parse(Session["StartDate"].ToString()).AddDays( - 7 );
4   DateTime dDueDate = DateTime.Parse(Session["DueDate"].ToString()).AddDays( - 7 ); 
5  Session["StartDate"= dStartDate.ToShortDateString() + " 0:00:00";
6   Session["DueDate"= dDueDate.ToShortDateString() + " 23:59:59"
7  int iWeek = ce.GetWeekOfYear(dStartDate, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday); 
8 }

3.下一周按钮事件

1private void btnNext_Click(object sender, System.EventArgs e)  
2{   
3System.Globalization.Calendar ce = new GregorianCalendar();
4   DateTime dStartDate = DateTime.Parse(Session["StartDate"].ToString()).AddDays( 7 );
5   DateTime dDueDate = DateTime.Parse(Session["DueDate"].ToString()).AddDays( 7 );  
6 Session["StartDate"= dStartDate.ToShortDateString() + " 0:00:00";  
      Session[
"DueDate"= dDueDate.ToShortDateString() + " 23:59:59";   
7int iWeek = ce.GetWeekOfYear(dStartDate, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
8  }