且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C# 常用日期类型转换帮助类

更新时间:2022-08-16 15:14:06

本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html

最近工作比较忙,与此同时自己也在业余时间开发一个电子商务网站。虽然每天都很累,但感觉过的相当充实。由于时间紧张,最近没有经常来园子,只是有人留言的时候过来回复下。今天过来刷刷存在感。

二、应用场景举例

1.按指定日期查询

(1)用户在UI上选择日期;

(2)系统计算出今天的起始时间(****年**月**日 00:00:00)和今天的结束时间(****年**月**日 23:59:59);

(3)系统根据根据该日期范围到数据库取出该日期范围的数据。

如下图所示,查询指定日期的航班及机票数量:

C# 常用日期类型转换帮助类

2.按时间范围查询

(1)用户在UI上选择“起始日期”和“结束日期”;

(2)系统计算出开始日期的起始时间(****年**月**日 00:00:00);

(2)系统计算出结束日期的结束时间(****年**月**日 23:59:59);

(3)系统根据根据该日期范围到数据库取出该日期范围的数据。

如下图所示,比较常见的按日期查询:

C# 常用日期类型转换帮助类

3.按日、月、周、年查询(此处以按月查询为例)

(1)系统取出当前日期;

(2)系统根据当前日期计算出本月的开始日期的起始时间(****年**月**日 00:00:00);

(3)系统根据当前日期计算出本月的结束日期的结束时间(****年**月**日 23:59:59);

(4)系统根据根据该日期范围到数据库取出该日期范围的数据。

如下图所示,比较常见的月报表

C# 常用日期类型转换帮助类

4.最终效果

C# 常用日期类型转换帮助类

三、代码及下载

C# 常用日期类型转换帮助类
  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>
 81         /// 将日期转换为本周的开始时间