ASP.NET 时间操作(二)

作者:vkvi 来源:ITPOW(原创) 日期:2007-6-23

时间比较

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddYears(3);
int ct1 = dt1.CompareTo(dt2); //dt1 早于 dt2,返回 -1
int ct2 = dt2.CompareTo(dt1); //dt2 晚于 dt1,返回 1
int ct3 = dt2.CompareTo(dt2); //dt2 与 dt2 相等,返回 0

 

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddYears(3);
bool b = dt1.Equals(dt2); //dt1 与 dt2 不相等,返回 false

时间加减

DateTime dt = DateTime.Now;
dt = dt.AddYears(1); //加 1 年
dt = dt.AddMonths(-1); //减 1 月
dt = dt.AddDays(13); //加 13 日
dt = dt.AddHours(1); //时
dt = dt.AddMinutes(1); //分
dt = dt.AddSeconds(1); //秒
dt = dt.AddMilliseconds(1); //毫秒
dt = dt.AddTicks(1); //Ticket,用数字表示当前时间

参数为正,表示加;参数为负,表示减。注意拼写。函数应该返回一个值,比如是:dt = dt.AddYears(1),而不是:dt.AddYears(1)。

还有一个方法是 Add,其语法为:

DateTime DateTime.Add(TimeSpan ValueType);

关于 TimeSpan,请继续阅览本文。


时间减运算

前面的时间加减是对一个时间进行加减,这里是对两个时间进行减运算(用 -),返回的结果类型为 TimeSpan。

DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddDays(3);
TimeSpan ts = dt1 - dt2;

TimeSpan 的属性 Days、Hours、Minutes、Seconds、Milliseconds、Tickets,分别返回相差的天数、时数、分数、秒数、毫秒数、Tickets。有正负之分。

TimsSpan 的属性 TotalDays、TotalHours、TotalMinutes、TotalSeconds、TotalMilliseconds,分别返回以天、时、分、秒、毫秒为单位的相差值。有正负之分。

比如:dt1 比 dt2 早整整 3 天,按上述程序,则:

Days 为 -3,Hours 为 0;

TotalDays 为 -3,TotalHours 为 -72(3 天为 72 小时)。

相关文章