TimeSpan一个很好的时间计算类
eg1.DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Now.AddDays(-7);
TimeSpan ts = dt1 - dt2;
int days = ts.Days; //dt1和dt2相差多少天
eg2.
//编辑月份和系统登录月份是否相等
if(Convert.ToDateTime(DateTime.Now.ToShortDateString()).Month==Convert.ToDateTime(this.GetQueryString("sdate")).Month)
{
TimeSpan ts=Convert.ToDateTime(DateTime.Now.ToShortDateString())-Convert.ToDateTime(this.GetQueryString("sdate"));
iDays=ts.Days;
//登录系统的前三天可以编辑
if(iDays<4)
{
Submiter submit = new Submiter(this,"tt");
this.iseretail.SelectedValue=this.GetQueryString("rid");
this.txtTime.Text=this.GetQueryString("sdate").ToString();
this.InputSelect1.WhereCondition=" gxlshd='"+this.GetQueryString("rid")+"'";
if(this.GetQueryString("workid")!="")
this.InputSelect1.SelectedValue=this.GetQueryString("workid");
submit.InitInsertMode();
SetDataGrid();
}
eg3.C#中计算两个时间的差
/// <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;
}说明:
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值表示的秒数。