/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1"> 第一个日期和时间 </param>
/// <param name="DateTime2"> 第二个日期和时间 </param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+" 天 "
+ ts.Hours.ToString()+" 小时 "
+ ts.Minutes.ToString()+" 分钟 "
+ ts.Seconds.ToString()+" 秒 ";
return dateDiff;
}
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1"> 第一个日期和时间 </param>
/// <param name="DateTime2"> 第二个日期和时间 </param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+" 天 "
+ ts.Hours.ToString()+" 小时 "
+ ts.Minutes.ToString()+" 分钟 "
+ ts.Seconds.ToString()+" 秒 ";
return dateDiff;
}
说明:
1.DateTime 值类型代表了一个从公元 0001 年 1 月 1 日 0 点 0 分 0 秒到公元 9999 年 12 月 31 日 23 点 59 分 59 秒之间的具体日期时刻。因此,你可以用 DateTime 值类型来描述任何在想象范围之内的时间。一个 DateTime 值代表了一个具体的时刻
2.TimeSpan 值包含了许多属性与方法,用于访问或处理一个 TimeSpan 值
下面的列表涵盖了其中的一部分:
Add :与另一个 TimeSpan 值相加。
Days: 返回用天数计算的 TimeSpan 值。
Duration: 获取 TimeSpan 的绝对值。
Hours: 返回用小时计算的 TimeSpan 值
Milliseconds: 返回用毫秒计算的 TimeSpan 值。
Minutes: 返回用分钟计算的 TimeSpan 值。
Negate: 返回当前实例的相反数。
Seconds: 返回用秒计算的 TimeSpan 值。
Subtract: 从中减去另一个 TimeSpan 值。
Ticks: 返回 TimeSpan 值的 tick 数。
TotalDays: 返回 TimeSpan 值表示的天数。
TotalHours: 返回 TimeSpan 值表示的小时数。
TotalMilliseconds: 返回 TimeSpan 值表示的毫秒数。
TotalMinutes: 返回 TimeSpan 值表示的分钟数。
TotalSeconds: 返回 TimeSpan 值表示的秒数。
1.DateTime 值类型代表了一个从公元 0001 年 1 月 1 日 0 点 0 分 0 秒到公元 9999 年 12 月 31 日 23 点 59 分 59 秒之间的具体日期时刻。因此,你可以用 DateTime 值类型来描述任何在想象范围之内的时间。一个 DateTime 值代表了一个具体的时刻
2.TimeSpan 值包含了许多属性与方法,用于访问或处理一个 TimeSpan 值
下面的列表涵盖了其中的一部分:
Add :与另一个 TimeSpan 值相加。
Days: 返回用天数计算的 TimeSpan 值。
Duration: 获取 TimeSpan 的绝对值。
Hours: 返回用小时计算的 TimeSpan 值
Milliseconds: 返回用毫秒计算的 TimeSpan 值。
Minutes: 返回用分钟计算的 TimeSpan 值。
Negate: 返回当前实例的相反数。
Seconds: 返回用秒计算的 TimeSpan 值。
Subtract: 从中减去另一个 TimeSpan 值。
Ticks: 返回 TimeSpan 值的 tick 数。
TotalDays: 返回 TimeSpan 值表示的天数。
TotalHours: 返回 TimeSpan 值表示的小时数。
TotalMilliseconds: 返回 TimeSpan 值表示的毫秒数。
TotalMinutes: 返回 TimeSpan 值表示的分钟数。
TotalSeconds: 返回 TimeSpan 值表示的秒数。
以下是自己需要的时间计算。计算两个时间间隔的半小时数。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
int a = Int32.Parse(ts.Hours.ToString());
float b = (float)((Int32.Parse(ts.Minutes.ToString()) - (Int32.Parse(ts.Minutes.ToString()) % 30)) / 30) / (float)2;
dateDiff = Convert.ToString(a+b);
return dateDiff;
}
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
int a = Int32.Parse(ts.Hours.ToString());
float b = (float)((Int32.Parse(ts.Minutes.ToString()) - (Int32.Parse(ts.Minutes.ToString()) % 30)) / 30) / (float)2;
dateDiff = Convert.ToString(a+b);
return dateDiff;
}