现在的位置: 首页 > 综合 > 正文

ASP.NET时间操作

2013年12月24日 ⁄ 综合 ⁄ 共 1737字 ⁄ 字号 评论关闭

获取当前时间

DateTime dt = DateTime.Now;

转化成字符串

DateTime dt = DateTime.Now;
string str = dt.ToString(); //这是最直接的转化方法
string str2 = dt.ToString("yyyy-MM-dd HH:mm:ss"); //yyyy、mm、dd 是格式模式,大小写敏感

DateTime 的 ToString 的格式模式大小写敏感,请注意大小写,各模式之间可以互相组合,常见的模式如下:

yyyy 年,四位数表示。
yy   年,两位数表示。
MM 月,小于 10 时,有前导零。
M  月,小于 10 时,没有前导零。
dd 日,小于 10 时,有前导零。
d  日,小于 10 时,没有前导零。
HH 时(24 小时制),小于 10 时,有前导零。
H  时(24 小时制),小于 10 时,没有前导零。
hh 时(12 小时制),小于 10 时,有前导零。
h  时(12 小时制),小于 10 时,没有前导零。
mm 分。小于 10 时,有前导零。
m  分。小于 10 时,没有前导零。
ss 秒。小于 10 时,有前导零。
s  秒。小于 10 时,没有前导零。

获取年、月、日、时、分、秒等

DateTime dt = DateTime.Now;
int y = dt.Year; //年
int m = dt.Month; //月
int d = dt.Day; //日,注意是 Day,不是 Date
int h = dt.Hour; //时
int n = dt.Minute; //分
int s = dt.Second; //秒
int ms = dt.Millisecond; //毫秒
long t = dt.Ticks; //一个数字,用于表示该时间,注意类型为 long

时间比较

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 小时)。

【上篇】
【下篇】

抱歉!评论已关闭.