用于查询的日期类型转换帮助类

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

1.按指定日期查询

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

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

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

三、代码及下载

/*
 *
 * 创建人:李林峰
 *
 * 时  间:2009-05-04
 *
 * 描  述:日期转换帮助类,常用于报表开发;
 * 可以转换成为:本日开始时间、本日结束时间、本周开始时间、本周结束时间、本月开始时间、本月结束时间、本年开始时间、本年结束时间
 *
 */

using System;

namespace SongCai8.WebSite
{
    /// <summary>
    /// 日期转换帮助类
    /// </summary>
    public static class DateTimeHelper
    {
        #region 日
        /// <summary>
        /// 将日期转换为本日的开始时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToDayStart(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //转换成短日期类型字符
            string shortDate = date.ToShortDateString();
            //返回日期类型
            return System.Convert.ToDateTime(shortDate);
        }

        /// <summary>
        /// 将日期转换为本日的开始时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToDayStart(DateTime value)
        {
            //转换成短日期类型字符
            string shortDate = value.ToShortDateString();
            //返回日期类型
            return System.Convert.ToDateTime(shortDate);
        }

        /// <summary>
        /// 将日期转换为本日的开始时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 23:59:59</returns>
        public static DateTime ToDayEnd(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //转换成短日期类型
            DateTime shortDate = System.Convert.ToDateTime(date.ToShortDateString());
            //返回日期加一天减一秒
            return shortDate.AddDays(1).AddSeconds(-1);
        }

        /// <summary>
        /// 将日期转换为本日的结束时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 23:59:59</returns>
        public static DateTime ToDayEnd(DateTime value)
        {
            //转换成短日期类型
            DateTime shortDate = System.Convert.ToDateTime(value.ToShortDateString());
            //返回日期加一天减一秒
            return shortDate.AddDays(1).AddSeconds(-1);
        }
        #endregion

        #region 周
        /// <summary>
        /// 将日期转换为本周的开始时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToWeekStart(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据当前时间取出该周周一的当前时间
            DateTime weekStart = ToWeekStart(date, date.Date.DayOfWeek);
            //转换成短日期类型字符
            string shortDate = weekStart.ToShortDateString();
            //返回日期类型
            return System.Convert.ToDateTime(shortDate);
        }

        /// <summary>
        /// 将日期转换为本周的开始时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToWeekStart(DateTime value)
        {
            //根据当前时间取出该周周一的当前时间
            DateTime weekStart = ToWeekStart(value, value.Date.DayOfWeek);
            //转换成短日期类型字符
            string shortDate = weekStart.ToShortDateString();
            //返回日期类型
            return System.Convert.ToDateTime(shortDate);
        }

        /// <summary>
        /// 将日期转换为本周的结束时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 23:59:59</returns>
        public static DateTime ToWeekEnd(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据当前时间取出该周周末的当前时间
            DateTime weekEnd = ToWeekEnd(date, date.Date.DayOfWeek);
            //转换成短日期类型字符
            string shortDate = weekEnd.ToShortDateString();
            //返回日期加一天减一秒
            return Convert.ToDateTime(shortDate).AddDays(1).AddSeconds(-1);
        }

        /// <summary>
        /// 将日期转换为本周的结束时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 23:59:59</returns>
        public static DateTime ToWeekEnd(DateTime value)
        {
            //根据当前时间取出该周周末的当前时间
            DateTime weekEnd = ToWeekEnd(value, value.Date.DayOfWeek);
            //转换成短日期类型字符
            string shortDate = weekEnd.ToShortDateString();
            //返回日期类型
            //返回日期加一天减一秒
            return Convert.ToDateTime(shortDate).AddDays(1).AddSeconds(-1);
        }

        /// <summary>
        /// 将日期转换为本周周一的某一时间
        /// </summary>
        /// <param name="date">将要转换的日期</param>
        /// <param name="week">传入日期的周的枚举类型</param>
        /// <returns>2001-01-01 12:12:12</returns>
        private static DateTime ToWeekStart(DateTime date, DayOfWeek week)
        {
            DateTime WeekStart = new DateTime();
            switch (week)
            {
                case DayOfWeek.Monday:
                    WeekStart = date;
                    break;
                case DayOfWeek.Tuesday:
                    WeekStart = date.AddDays(-1);
                    break;
                case DayOfWeek.Wednesday:
                    WeekStart = date.AddDays(-2);
                    break;
                case DayOfWeek.Thursday:
                    WeekStart = date.AddDays(-3);
                    break;
                case DayOfWeek.Friday:
                    WeekStart = date.AddDays(-4);
                    break;
                case DayOfWeek.Saturday:
                    WeekStart = date.AddDays(-5);
                    break;
                case DayOfWeek.Sunday:
                    WeekStart = date.AddDays(-6);
                    break;
            }
            return WeekStart;
        }

        /// <summary>
        /// 将日期转换为本周周日的某一时间
        /// </summary>
        /// <param name="date">将要转换的日期</param>
        /// <param name="week">传入日期的周的枚举类型</param>
        /// <returns>2001-01-01 12:12:12</returns>
        private static DateTime ToWeekEnd(DateTime date, DayOfWeek week)
        {
            DateTime WeekStart = new DateTime();
            switch (week)
            {
                case DayOfWeek.Monday:
                    WeekStart = date.AddDays(6);
                    break;
                case DayOfWeek.Tuesday:
                    WeekStart = date.AddDays(5);
                    break;
                case DayOfWeek.Wednesday:
                    WeekStart = date.AddDays(4);
                    break;
                case DayOfWeek.Thursday:
                    WeekStart = date.AddDays(3);
                    break;
                case DayOfWeek.Friday:
                    WeekStart = date.AddDays(2);
                    break;
                case DayOfWeek.Saturday:
                    WeekStart = date.AddDays(1);
                    break;
                case DayOfWeek.Sunday:
                    WeekStart = date;
                    break;
            }
            return WeekStart;
        }

        #endregion

        #region 月
        /// <summary>
        /// 将日期转换为本月的开始时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToMonthStart(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据年、月重新创建日期
            return new DateTime(date.Year, date.Month, 1);
        }

        /// <summary>
        /// 将日期转换为本月的开始时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToMonthStart(DateTime value)
        {
            //根据年、月重新创建日期
            return new DateTime(value.Year, value.Month, 1);
        }

        /// <summary>
        /// 将日期转换为本月的结束时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-31 23:59:59</returns>
        public static DateTime ToMonthEnd(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据年、月重新创建日期
            DateTime monthStart = new DateTime(date.Year, date.Month, 1);
            //创建结束日期
            return monthStart.AddMonths(1).AddSeconds(-1);
        }

        /// <summary>
        /// 将日期转换为本月的结束时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-31 23:59:59</returns>
        public static DateTime ToMonthEnd(DateTime value)
        {
            //根据年、月重新创建日期
            DateTime monthStart = new DateTime(value.Year, value.Month, 1);
            //创建结束日期
            return monthStart.AddMonths(1).AddSeconds(-1);
        }
        #endregion

        #region 年
        /// <summary>
        /// 将日期转换为本年的开始时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToYearStart(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据年、月重新创建日期
            return new DateTime(date.Year, 1, 1);
        }

        /// <summary>
        /// 将日期转换为本年的开始时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-01-01 00:00:00</returns>
        public static DateTime ToYearStart(DateTime value)
        {
            //根据年、月重新创建日期
            return new DateTime(value.Year, 1, 1);
        }

        /// <summary>
        /// 将日期转换为本年的结束时间
        /// </summary>
        /// <param name="value">2001-01-01</param>
        /// <returns>2001-12-31 23:59:59</returns>
        public static DateTime ToYearEnd(string value)
        {
            //转换成日期类型
            DateTime date = System.Convert.ToDateTime(value);
            //根据年、月重新创建日期
            DateTime yearStart = new DateTime(date.Year, 1, 1);
            //创建结束日期
            DateTime yearEnd = new DateTime(date.Year, 1, 1).AddYears(1).AddSeconds(-1);
            return yearEnd;
        }

        /// <summary>
        /// 将日期转换为本年的结束时间
        /// </summary>
        /// <param name="value">任意时间</param>
        /// <returns>2001-12-31 23:59:59</returns>
        public static DateTime ToYearEnd(DateTime value)
        {
            //根据年、月重新创建日期
            DateTime yearStart = new DateTime(value.Year, 1, 1);
            //创建结束日期
            return new DateTime(value.Year, 1, 1).AddYears(1).AddSeconds(-1);
        }
        #endregion
    }
}

  

时间: 2024-10-11 20:17:59

用于查询的日期类型转换帮助类的相关文章

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

本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html 最近工作比较忙,与此同时自己也在业余时间开发一个电子商务网站.虽然每天都很累,但感觉过的相当充实.由于时间紧张,最近没有经常来园子,只是有人留言的时候过来回复下.今天过来刷刷存在感. 二.应用场景举例 1.按指定日期查询 (1)用户在UI上选择日期; (2)系统计算出今天的起始时间(****年**月**日 00:00:00)和今天的结束时间(****年**月**日 23:59:59);

php实现用于验证所有类型的信用卡类

 这篇文章主要介绍了php实现用于验证所有类型的信用卡类,实例分析了信用卡类的实现原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php实现用于验证所有类型的信用卡类.分享给大家供大家参考.具体如下: 这个php类比较完整,可以用于验证各种不同的信用卡,针对信用卡的卡号的通用规则进行了验证,同时对不同类型的信用卡进行了针对性的识别. 代码接受一个信用卡号码和有效日期,如果两者都有效,则返回TRUE,否则返回FALSE. 本插件接受以下参数: $number

Java API的Date, Calendar日期处理相关类分析

calendar 简介 在计算机程序中精确的处理日期是困难的.不仅有显而易见的(英语: January, 法语: Janvier, 德语: Januar, 等)国际化需求, 而且得考虑不同的日期系统(并非所有的文化都用基督耶稣的生日作为纪年的开始).如有高精度或非常大规模的时间需要被处理, 就有额外的方面需要被注意,比如闰秒或时间系统的变化.(公历(阳历, 格里高利历法)在西方被普遍接受是在1582年,但并非所有的国家在同一天接受!) 尽管有关于闰秒, 时区, 夏令时, 阴历的问题, 度量时间却

封装用于解析NSDate的便利的类

封装用于解析NSDate的便利的类 此类可以从NSDate中解析出年份,月份,日期,时,分,秒,毫秒,足够用来做好多事情了,现提供源码如下: 以下是核心的类: TimeInfo.h 与 TimeInfo.m // // TimeInfo.h // ShowTime // // Created by YouXianMing on 14-10-16. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Founda

云计算-hbase中filter只能用于查询吗?

问题描述 hbase中filter只能用于查询吗? 1.fiter还能用于put和delete吗? 2.hbase又能判断表是否存在的方法,有能判断表中是否有列族?有能判断类族中有列?的方法吗?(我看api好像没有啊)如果没有怎么实现这样的方法? 3.hbase的时间戳不指定是默认,可是有什么属性之类的能设定让他连系统默认都不使用吗?(个人感觉hbase没有时间戳了就没有版本了,不用时间戳好像没意义.) 4.hbase当操作表的结构时候,传值设定表的属性,那么参数太多,使用哪个传值方式更合适(m

Java中的日期和时间类以及Calendar类用法详解_java

Java日期和时间类简介 Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个: Date():使用当前的日期和时间初始化一个对象. Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒.如果运行 Java 程序的本地时区是北京时区(

java日期处理工具类_java

本文针对日期处理进行学习使用,主要分为两部分,下面为大家具体介绍一下 第一部分:日期处理基础知识 Date 类 作用:最主要的作用就是获得当前时间 将日期转换为标准格式 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(date); System.out.println("2015-10-16 1

php实现用于验证所有类型的信用卡类_php技巧

本文实例讲述了php实现用于验证所有类型的信用卡类.分享给大家供大家参考.具体如下: 这个php类比较完整,可以用于验证各种不同的信用卡,针对信用卡的卡号的通用规则进行了验证,同时对不同类型的信用卡进行了针对性的识别. 代码接受一个信用卡号码和有效日期,如果两者都有效,则返回TRUE,否则返回FALSE. 本插件接受以下参数: $number 表示信用卡号码的一个字符串 $expiry 信用卡有效日期,采用07/12或0712这样的格式 <?php // Plug-in 32: Validate

select-同样的sql只有查询的日期不同但执行速度相差很多

问题描述 同样的sql只有查询的日期不同但执行速度相差很多 SELECT messagestatusreceivernamemain.registnosendernameto_char(send_time) as send_timemobileriskcode from prplflsmssend ps left join prplflsmslog pl on pl.smssendid=ps.id prplflmaininfo main where trim(smstype)<>'' and