timespan 和 datetime是 .net 中时间处理的两个主要的类
创建并操作一个日期时间对象的方法很简单,下面是简单的实例代码:
dim d2 as datetime
dim ts as timespan
d1=datetime.now
d2=d1.addhours(2)
ts=d1.subtract(d2)
dim ts2 as timespan(0,1,1,1)
ts2=ts2.fromDays(1)
dim d3 as datetime
d3=d2.add(ts2)
上面代码虽然非常简单,但是却已经把所有的精华都体现出来了。
d1被赋予当前是时间 ,这样d1=2006-9-18 08:08:08
也可以只返回日期给d1 方法是
d1=DateTime.today
d2为d1加上两个小时的时间,所以d2为:2006-09-18 10:08:08
对d1 和 d2 进行减法 返回一个timespan对象 被赋给了ts 代码是:
ts=d1.subtract(d2)
对于ts这里要说几句:
ts定义是可以指定四个参数:分别代表 日,时,分,秒
例如:dim ts2 as timespan
ts2=new timespan(1,1,1,1)
已知一个timespan对象,可以通过几个方法返回一个timespan对象。例如:
dim ts3 as timespan=ts2.fromhours(2)
则ts3 为 (1,2,1,1)
其他的函数使用方法依次类推。
可以通过 ts2.days,ts2.hours 返回对应的 日 和 时, 则返回 1,1
也可以通过 ts2.TotalHours 返回总的小时为 25.01694
可以通过两个日期的减法 获得一个timespan对象,此时将会对两个日期进行运算。秒和秒运算,分和分运算,时和时运算,最后年月日全都转换成日运算
也可以把一个timespan对象加到一个时间对象上,获得一个新的时间。 此时 的运算方法和上面的相似。
当然对于datetime 和 timespan 还有很多方法和属性需要研究和实践。
//********************************************* 解析二:
C#时间比较大小方法一:时间与时间之间直接比较。
stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
if(dt1>dt2)
{
……其他操作
}
C#时间比较大小方法二:使用CompareTo方法,实现时间与时间之间的比较。
stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
intn=dt1.CompareTo(dt2);
if(n>0)
{
……其他操作
}
c#计算时间差重点:
c#计算时间差函数TimeSpan的应用
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值表示的秒数。
c#计算时间差实现方法:
DateTime DateTime1,
DateTime2 = DateTime.Now ;//现在时间
DateTime1 =Convert.ToDateTime("2009-04-24 20:00:00"); //设置要求的减的时间
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() + "秒";
//************************************************ 解析三:
C#中时间差的计算
/// <summary>
/// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1,DateTime DateTime2)
{
string dateDiff=null;
try
{
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()+"秒";
}
catch
{
}
return dateDiff;
}
/// <summary>
/// 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值.
/// </summary>
/// <param name="DateTime1">一个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1)
{
return this.DateDiff(DateTime1,DateTime.Now);
}