DateTime StarTime =
newDateTime(
1970,
1,
1); ///<summary>/// 常用日期格式 ///</summary>publicstaticreadonlystringCommonDateFormat =
"yyyy-MM-dd HH:mm:ss.fff"; ///<summary>/// 周未定义 ///</summary>publicstaticreadonlyDayOfWeek[] Weekend =
{ DayOfWeek.Saturday, DayOfWeek.Sunday }; ///<summary>/// 获取从Unix起始时间到给定时间的毫秒数 ///</summary>///<param name="datetime"></param>///<returns></returns>publicstaticlongGetMillisecondsSince1970(
this DateTime datetime) { varts =
datetime.Subtract(StarTime); return(
long)ts.TotalMilliseconds; } ///<summary>/// 获取从Unix起始时间到给定时间的秒数 ///</summary>///<param name="datetime"></param>///<returns></returns>publicstaticlongGetSecondsSince1970(
this DateTime datetime) { varts =
datetime.Subtract(StarTime); return(
long)ts.TotalSeconds; } ///<summary>/// 明天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime Tomorrow(
this DateTime date) { returndate.AddDays(
1); } ///<summary>/// 昨天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime Yesterday(
this DateTime date) { returndate.AddDays(-
1); } ///<summary>/// 常用日期格式化字符串 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticstringToCommonFormat(
this DateTime date) { return date.ToString(CommonDateFormat); } ///<summary>/// 是否是周未 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticboolIsWeekend(
this DateTime date) { returnWeekend.Any(p => p ==
date.DayOfWeek); } ///<summary>/// 是否是工作日 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticboolIsWeekDay(
this DateTime date) { return!
date.IsWeekend(); } ///<summary>/// 给定月份的第1天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime GetFirstDayOfMonth(
this DateTime date) { returnnewDateTime(date.Year, date.Month,
1); } ///<summary>/// 给定月份的最后1天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime GetLastDayOfMonth(
this DateTime date) { returndate.GetFirstDayOfMonth().AddMonths(
1).AddDays(-
1); } ///<summary>/// 给定日期所在月份第1个星期几所对应的日期 ///</summary>///<param name="date">给定日期</param>///<param name="dayOfWeek">星期几</param>///<returns>所对应的日期</returns>publicstaticDateTime GetFirstWeekDayOfMonth(
this DateTime date, DayOfWeek dayOfWeek) { vardt =
date.GetFirstDayOfMonth(); while(dt.DayOfWeek !=
dayOfWeek) dt= dt.AddDays(
1); return dt; } ///<summary>/// 给定日期所在月份最后1个星期几所对应的日期 ///</summary>///<param name="date">给定日期</param>///<param name="dayOfWeek">星期几</param>///<returns>所对应的日期</returns>publicstaticDateTime GetLastWeekDayOfMonth(
this DateTime date, DayOfWeek dayOfWeek) { vardt =
date.GetLastDayOfMonth(); while(dt.DayOfWeek !=
dayOfWeek) dt= dt.AddDays(-
1); return dt; } ///<summary>/// 早于给定日期 ///</summary>///<param name="date"></param>///<param name="other"></param>///<returns></returns>publicstaticboolIsBefore(
this DateTime date, DateTime other) { returndate.CompareTo(other) <
0; } ///<summary>/// 晚于给定日期 ///</summary>///<param name="date"></param>///<param name="other"></param>///<returns></returns>publicstaticboolIsAfter(
this DateTime date, DateTime other) { returndate.CompareTo(other) >
0; } ///<summary>/// 给定日期最后一刻,精确到23:59:59.999 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime EndTimeOfDay(
this DateTime date) { returnnewDateTime(date.Year, date.Month, date.Day,
23,
59,
59,
999); } ///<summary>/// 给定日期开始一刻,精确到0:0:0.0 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime StartTimeOfDay(
this DateTime date) { return date.Date; } ///<summary>/// 给定日期的中午,精确到12:0:0.0 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticDateTime NoonOfDay(
this DateTime date) { returnnewDateTime(date.Year, date.Month, date.Day,
12,
0,
0); } ///<summary>/// 当前日期与给定日期是否是同一天 ///</summary>///<param name="date">当前日期</param>///<param name="dateToCompare">给定日期</param>///<returns></returns>publicstaticboolIsDateEqual(
this DateTime date, DateTime dateToCompare) { return(date.Date ==
dateToCompare.Date); } ///<summary>/// 判断是否为今天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticboolIsToday(
this DateTime date) { return(date.Date ==
DateTime.Now.Date); } ///<summary>/// 给定日期所在月份共有多少天 ///</summary>///<param name="date"></param>///<returns></returns>publicstaticintGetCountDaysOfMonth(
this DateTime date) { return date.GetLastDayOfMonth().Day; } }来源: http://www.bubuko.com/infodetail-2010098.html