C# 常用日期类型转换帮助类
本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html
最近工作比较忙,与此同时自己也在业余时间开发一个电子商务网站。虽然每天都很累,但感觉过的相当充实。由于时间紧张,最近没有经常来园子,只是有人留言的时候过来回复下。今天过来刷刷存在感。
二、应用场景举例
1.按指定日期查询
(1)用户在UI上选择日期;
(2)系统计算出今天的起始时间(****年**月**日 00:00:00)和今天的结束时间(****年**月**日 23:59:59);
(3)系统根据根据该日期范围到数据库取出该日期范围的数据。
如下图所示,查询指定日期的航班及机票数量:
2.按时间范围查询
(1)用户在UI上选择“起始日期”和“结束日期”;
(2)系统计算出开始日期的起始时间(****年**月**日 00:00:00);
(2)系统计算出结束日期的结束时间(****年**月**日 23:59:59);
(3)系统根据根据该日期范围到数据库取出该日期范围的数据。
如下图所示,比较常见的按日期查询:
3.按日、月、周、年查询(此处以按月查询为例)
(1)系统取出当前日期;
(2)系统根据当前日期计算出本月的开始日期的起始时间(****年**月**日 00:00:00);
(3)系统根据当前日期计算出本月的结束日期的结束时间(****年**月**日 23:59:59);
(4)系统根据根据该日期范围到数据库取出该日期范围的数据。
如下图所示,比较常见的月报表
4.最终效果
三、代码及下载
1 /*
2 *
3 * 创建人:李林峰
4 *
5 * 时 间:2009-05-04
6 *
7 * 描 述:日期转换帮助类,常用于报表开发;
8 * 可以转换成为:本日开始时间、本日结束时间、本周开始时间、本周结束时间、本月开始时间、本月结束时间、本年开始时间、本年结束时间
9 *
10 */
11
12 using System;
13
14 namespace SongCai8.WebSite
15 {
16 /// <summary>
17 /// 日期转换帮助类
18 /// </summary>
19 public static class DateTimeHelper
20 {
21 #region 日
22 /// <summary>
23 /// 将日期转换为本日的开始时间
24 /// </summary>
25 /// <param name="value">2001-01-01</param>
26 /// <returns>2001-01-01 00:00:00</returns>
27 public static DateTime ToDayStart(string value)
28 {
29 //转换成日期类型
30 DateTime date = System.Convert.ToDateTime(value);
31 //转换成短日期类型字符
32 string shortDate = date.ToShortDateString();
33 //返回日期类型
34 return System.Convert.ToDateTime(shortDate);
35 }
36
37 /// <summary>
38 /// 将日期转换为本日的开始时间
39 /// </summary>
40 /// <param name="value">任意时间</param>
41 /// <returns>2001-01-01 00:00:00</returns>
42 public static DateTime ToDayStart(DateTime value)
43 {
44 //转换成短日期类型字符
45 string shortDate = value.ToShortDateString();
46 //返回日期类型
47 return System.Convert.ToDateTime(shortDate);
48 }
49
50 /// <summary>
51 /// 将日期转换为本日的开始时间
52 /// </summary>
53 /// <param name="value">2001-01-01</param>
54 /// <returns>2001-01-01 23:59:59</returns>
55 public static DateTime ToDayEnd(string value)
56 {
57 //转换成日期类型
58 DateTime date = System.Convert.ToDateTime(value);
59 //转换成短日期类型
60 DateTime shortDate = System.Convert.ToDateTime(date.ToShortDateString());
61 //返回日期加一天减一秒
62 return shortDate.AddDays(1).AddSeconds(-1);
63 }
64
65 /// <summary>
66 /// 将日期转换为本日的结束时间
67 /// </summary>
68 /// <param name="value">任意时间</param>
69 /// <returns>2001-01-01 23:59:59</returns>
70 public static DateTime ToDayEnd(DateTime value)
71 {
72 //转换成短日期类型
73 DateTime shortDate = System.Convert.ToDateTime(value.ToShortDateString());
74 //返回日期加一天减一秒
75 return shortDate.AddDays(1).AddSeconds(-1);
76 }
77 #endregion
78
79 #region 周
80 /// <summary>