110,536
社区成员
发帖
与我相关
我的任务
分享
#region 枚举值
/// <summary>
/// 日期枚举值
/// </summary>
public enum DatePart
{
/// <summary>
/// 年
/// </summary>
YY,
/// <summary>
/// 月
/// </summary>
MM,
/// <summary>
/// 日
/// </summary>
DD,
/// <summary>
/// 时
/// </summary>
HH,
/// <summary>
/// 分
/// </summary>
MI,
/// <summary>
/// 秒
/// </summary>
SS,
/// <summary>
/// 毫秒
/// </summary>
MS
}
#endregion
#region DateDiff(),返回两个日期的时间差
/// <summary>
/// 返回两个日期的时间差
/// </summary>
/// <param name="datepart">DatePart枚举值</param>
/// <param name="starttime">起始时间</param>
/// <param name="endtime">结束时间</param>
/// <returns></returns>
public static long DateDiff(DatePart datepart, DateTime starttime, DateTime endtime)
{
long rtn = 0;
TimeSpan start = new TimeSpan(starttime.Ticks);
TimeSpan end = new TimeSpan(endtime.Ticks);
TimeSpan delta = end.Subtract(start);
long year = endtime.Year - starttime.Year;
long month = year * 12 + (endtime.Month - starttime.Month);
long day = (long)delta.TotalDays;
long hour = (long)delta.TotalHours;
long minute = (long)delta.TotalMinutes;
long second = (long)delta.TotalSeconds;
long milliseconds = (long)delta.TotalMilliseconds;
switch (datepart)
{
case DatePart.YY:
rtn = year;
break;
case DatePart.MM:
rtn = month;
break;
case DatePart.DD:
rtn = day;
break;
case DatePart.HH:
rtn = hour;
break;
case DatePart.MI:
rtn = minute;
break;
case DatePart.SS:
rtn = second;
break;
case DatePart.MS:
rtn = milliseconds;
break;
}
return rtn;
}
#endregion