UnknowName
C#类分享(第四弹) 时间助手

说明:本类作用:传入一个时间 time,返回和此时间有关的比如"time的今天上午","time的昨天","time的上个季度的第一天",

"time的去年的第二个季度的最后一天的上午的第二个小时",等等.

如果软件中有大量的涉及到时间的算法可以使用本类进行简化,

例:

[mw_shl_code=csharp,true] DateTime timenow = DateTime.Now();

DateTime time = new DateTime();

time = timenow.GetNextMonthBegin();

time = timenow.GetNextQuarterEnd().GetMorningEnd();[/mw_shl_code]

完整类:

[mw_shl_code=csharp,true]using System;

namespace ClassLibrary.UserClass

{

/// *本站禁止HTML标签噢*

/// *本站禁止HTML标签噢* 实现功能:获取指定时间的相对时间段</para>

/// *本站禁止HTML标签噢* 调用方法:直接通过类名调用静态方法</para>

/// *本站禁止HTML标签噢* .</para>

/// *本站禁止HTML标签噢* 创建人员:Clown</para>

/// *本站禁止HTML标签噢* 创建日期:2010-10-31</para>

/// *本站禁止HTML标签噢* 创建备注:</para>

/// *本站禁止HTML标签噢* .</para>

/// *本站禁止HTML标签噢* 修改人员:</para>

/// *本站禁止HTML标签噢* 修改日期:</para>

/// *本站禁止HTML标签噢* 修改备注:</para>

/// </summary>

public static class DateTimeHelper

{

#region 常量

#region 静态常量

#endregion

#endregion

#region 属性

#region 静态属性

#endregion

#endregion

#region 构造

#region 静态构造

#endregion

#endregion

#region 方法

#region 静态方法

/// *本站禁止HTML标签噢*

/// 获取上午起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上午起始时间</returns>

public static DateTime GetMorningBegin(this DateTime time)

{

DateTime timeMorningBegin = Convert.ToDateTime(time.ToString("yyyy-MM-dd 06:00:00"));

return (timeMorningBegin);

}

/// *本站禁止HTML标签噢*

/// 获取上午终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上午终止时间</returns>

public static DateTime GetMorningEnd(this DateTime time)

{

DateTime timeMorningEnd = Convert.ToDateTime(time.ToString("yyyy-MM-dd 12:00:00"));

return (timeMorningEnd);

}

/// *本站禁止HTML标签噢*

/// 获取下午起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下午起始时间</returns>

public static DateTime GetAfternoonBegin(this DateTime time)

{

DateTime timeAfternoonBegin = Convert.ToDateTime(time.ToString("yyyy-MM-dd 12:00:00"));

return (timeAfternoonBegin);

}

/// *本站禁止HTML标签噢*

/// 获取下午终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下午终止时间</returns>

public static DateTime GetAfternoonEnd(this DateTime time)

{

DateTime timeAfternoonEnd = Convert.ToDateTime(time.ToString("yyyy-MM-dd 18:00:00"));

return (timeAfternoonEnd);

}

/// *本站禁止HTML标签噢*

/// 获取晚上起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 晚上起始时间</returns>

public static DateTime GetEveningBegin(this DateTime time)

{

DateTime timeEveningBengin = Convert.ToDateTime(time.ToString("yyyy-MM-dd 18:00:00"));

return (timeEveningBengin);

}

/// *本站禁止HTML标签噢*

/// 获取晚上终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 晚上终止时间</returns>

public static DateTime GetEveningEnd(this DateTime time)

{

DateTime timeEveningEnd = Convert.ToDateTime(time.AddDays(1).ToString("yyyy-MM-dd 06:00:00"));

return (timeEveningEnd);

}

/// *本站禁止HTML标签噢*

/// 获取昨天起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 昨天起始时间</returns>

public static DateTime GetYesterdayBegin(this DateTime time)

{

DateTime timeYesterdayBegin = Convert.ToDateTime(time.AddDays(-1).ToString("yyyy-MM-dd"));

return (timeYesterdayBegin);

}

/// *本站禁止HTML标签噢*

/// 获取昨天终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 昨天终止时间</returns>

public static DateTime GetYesterdayEnd(this DateTime time)

{

DateTime timeYesterdayEnd = Convert.ToDateTime(time.ToString("yyyy-MM-dd"));

return (timeYesterdayEnd);

}

/// *本站禁止HTML标签噢*

/// 获取今天起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 今天起始时间</returns>

public static DateTime GetTodayBegin(this DateTime time)

{

DateTime timeTodayBegin = Convert.ToDateTime(time.ToString("yyyy-MM-dd"));

return (timeTodayBegin);

}

/// *本站禁止HTML标签噢*

/// 获取今天终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 今天终止时间</returns>

public static DateTime GetTodayEnd(this DateTime time)

{

DateTime timeTodayEnd = Convert.ToDateTime(time.AddDays(1).ToString("yyyy-MM-dd"));

return (timeTodayEnd);

}

/// *本站禁止HTML标签噢*

/// 获取明天起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 明天起始时间</returns>

public static DateTime GetTomorrowBegin(this DateTime time)

{

DateTime timeTorrowBegin = Convert.ToDateTime(time.AddDays(1).ToString("yyyy-MM-dd"));

return (timeTorrowBegin);

}

/// *本站禁止HTML标签噢*

/// 获取明天终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 明天终止时间</returns>

public static DateTime GetTorrowEnd(this DateTime time)

{

DateTime timeTorrowEnd = Convert.ToDateTime(time.AddDays(2).ToString("yyyy-MM-dd"));

return (timeTorrowEnd);

}

/// *本站禁止HTML标签噢*

/// 获取上月起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上月起始时间</returns>

public static DateTime GetLastMonthBegin(this DateTime time)

{

DateTime timeLastMonthBegin = Convert.ToDateTime(time.AddMonths(-1).ToString("yyyy-MM-01"));

return (timeLastMonthBegin);

}

/// *本站禁止HTML标签噢*

/// 获取上月终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上月终止时间</returns>

public static DateTime GetLastMonthEnd(this DateTime time)

{

DateTime timeLastMonthEnd = Convert.ToDateTime(time.ToString("yyyy-MM-01"));

return (timeLastMonthEnd);

}

/// *本站禁止HTML标签噢*

/// 获取本月起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 本月起始时间</returns>

public static DateTime GetThisMonthBegin(this DateTime time)

{

DateTime timeThisMonthBegin = Convert.ToDateTime(time.ToString("yyyy-MM-01"));

return (timeThisMonthBegin);

}

/// *本站禁止HTML标签噢*

/// 获取本月终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 本月终止时间</returns>

public static DateTime GetThisMonthEnd(this DateTime time)

{

DateTime timeThisMonthEnd = Convert.ToDateTime(time.AddMonths(1).ToString("yyyy-MM-01"));

return (timeThisMonthEnd);

}

/// *本站禁止HTML标签噢*

/// 获取下月起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下月起始时间</returns>

public static DateTime GetNextMonthBegin(this DateTime time)

{

DateTime timeNextMonthBeign = Convert.ToDateTime(time.AddMonths(1).ToString("yyyy-MM-01"));

return (timeNextMonthBeign);

}

/// *本站禁止HTML标签噢*

/// 获取下月结束时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下月结束时间</returns>

public static DateTime GetNextMonthEnd(this DateTime time)

{

DateTime timeNextMonthEnd = Convert.ToDateTime(time.AddMonths(2).ToString("yyyy-MM-01"));

return (timeNextMonthEnd);

}

/// *本站禁止HTML标签噢*

/// 获取一季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 一季度起始时间</returns>

public static DateTime GetFirstQuarterBegin(this DateTime time)

{

DateTime timeFirstQuarterBegin = Convert.ToDateTime(time.ToString("yyyy-01-01"));

return (timeFirstQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取一季度结束时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 一季度结束时间</returns>

public static DateTime GetFirstQuarterEnd(this DateTime time)

{

DateTime timeFirstQuarterEnd = Convert.ToDateTime(time.ToString("yyyy-04-01"));

return (timeFirstQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取二季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 二季度起始时间</returns>

public static DateTime GetSecondQuarterBegin(this DateTime time)

{

DateTime timeSecondQuarterBegin = Convert.ToDateTime(time.ToString("yyyy-04-01"));

return (timeSecondQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取二季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 二季度终止是假</returns>

public static DateTime GetSecondQuarterEnd(this DateTime time)

{

DateTime timeSecondQuarterEnd = Convert.ToDateTime(time.ToString("yyyy-07-01"));

return (timeSecondQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取三季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 三季度起始时间</returns>

public static DateTime GetThirdQuarterBegin(this DateTime time)

{

DateTime timeThirdQuarterBegin = Convert.ToDateTime(time.ToString("yyyy-07-01"));

return (timeThirdQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取三季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 三季度终止时间</returns>

public static DateTime GetThirdQuarterEnd(this DateTime time)

{

DateTime timeThirdQuarterEnd = Convert.ToDateTime(time.ToString("yyyy-10-01"));

return (timeThirdQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取四季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 四季度起始时间</returns>

public static DateTime GetFourthQuarterBegin(this DateTime time)

{

DateTime timeFourthQuarterBegin = Convert.ToDateTime(time.ToString("yyyy-10-01"));

return (timeFourthQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取四季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 四季度终止时间</returns>

public static DateTime GetFourthQuarterEnd(this DateTime time)

{

DateTime timeFourthQuarterEnd = Convert.ToDateTime(time.AddYears(1).ToString("yyyy-01-01"));

return (timeFourthQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取上季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上季度起始时间</returns>

public static DateTime GetLastQuarterBegin(this DateTime time)

{

DateTime timeLastQuarterBegin = Convert.ToDateTime(time.AddMonths(-3 - (time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeLastQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取上季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 上季度终止时间</returns>

public static DateTime GetLastQuarterEnd(this DateTime time)

{

DateTime timeLastQuarterEnd = Convert.ToDateTime(time.AddMonths(-(time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeLastQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取本季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 本季度起始时间</returns>

public static DateTime GetThisQuarterBegin(this DateTime time)

{

DateTime timeThisQuarterBegin = Convert.ToDateTime(time.AddMonths(-(time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeThisQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取本季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 本季度终止时间</returns>

public static DateTime GetThisQuarterEnd(this DateTime time)

{

DateTime timeThisQuarterEnd = Convert.ToDateTime(time.AddMonths(3 - (time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeThisQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取下季度起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下季度起始时间</returns>

public static DateTime GetNextQuarterBegin(this DateTime time)

{

DateTime timeNextQuarterBegin = Convert.ToDateTime(time.AddMonths(3 - (time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeNextQuarterBegin);

}

/// *本站禁止HTML标签噢*

/// 获取下季度终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下季度终止时间</returns>

public static DateTime GetNextQuarterEnd(this DateTime time)

{

DateTime timeNextQuarterEnd = Convert.ToDateTime(time.AddMonths(6 - (time.Month - 1) % 3).ToString("yyyy-MM-01"));

return (timeNextQuarterEnd);

}

/// *本站禁止HTML标签噢*

/// 获取去年起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 去年起始时间</returns>

public static DateTime GetLastYearBegin(this DateTime time)

{

DateTime timeLastYearBegin = Convert.ToDateTime(time.AddYears(-1).ToString("yyyy-01-01"));

return (timeLastYearBegin);

}

/// *本站禁止HTML标签噢*

/// 获取去年终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 去年终止时间</returns>

public static DateTime GetLastYearEnd(this DateTime time)

{

DateTime timeLastYearEnd = Convert.ToDateTime(time.ToString("yyyy-01-01"));

return (timeLastYearEnd);

}

/// *本站禁止HTML标签噢*

/// 获取今年起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 今年起始时间</returns>

public static DateTime GetThisYearBegin(this DateTime time)

{

DateTime timeThisYearBegin = Convert.ToDateTime(time.ToString("yyyy-01-01"));

return (timeThisYearBegin);

}

/// *本站禁止HTML标签噢*

/// 获取今年终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 今年终止时间</returns>

public static DateTime GetThisYearEnd(this DateTime time)

{

DateTime timeThisYearEnd = Convert.ToDateTime(time.AddYears(1).ToString("yyyy-01-01"));

return (timeThisYearEnd);

}

/// *本站禁止HTML标签噢*

/// 获取下年起始时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下年起始时间</returns>

public static DateTime GetNextYearBegin(this DateTime time)

{

DateTime timeNextYearBegin = Convert.ToDateTime(time.AddYears(1).ToString("yyyy-01-01"));

return (timeNextYearBegin);

}

/// *本站禁止HTML标签噢*

/// 获取下年终止时间

/// </summary>

/// <param name="time">输入时间</param>

/// *本站禁止HTML标签噢* 下年终止时间</returns>

public static DateTime GetNextYearEnd(this DateTime time)

{

DateTime timeNextYearEnd = Convert.ToDateTime(time.AddYears(2).ToString("yyyy-01-01"));

return (timeNextYearEnd);

}

#endregion

#endregion

}

}

[/mw_shl_code]

最后,lz想说的是,当初学者你们爱上了类的时候,回过头来想想自己有没有忘记数据库连接怎么写,

码农和程序员的区别在于前者只知道写代码,后者可以兼任软件开发的任何一个职位

另外,lz只有在极个别情况才会出现在这里.....抱歉了...

风音洛洛
话说我只没有找到第一弹的位置
展开Biu

话说我只没有找到第一弹的位置。。。。

[查看全文]