欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# DateTime的使用

程序员文章站 2022-03-26 09:32:13
获得当前系统时间: DateTime dt = DateTime.Now; Environment.TickCount可以得到“系统启动到现在”的毫秒值 DateTime now = DateTime.Now; Console.WriteLine(now.ToString("yyyy-MM-dd")... ......
获得当前系统时间: datetime dt = datetime.now;
environment.tickcount可以得到“系统启动到现在”的毫秒值
datetime now = datetime.now;
console.writeline(now.tostring("yyyy-mm-dd"));  //按yyyy-mm-dd格式输出s
console.writeline(dt.tostring());    //  26/11/2009 am 11:21:30
console.writeline(dt.tofiletime().tostring());   //   129036792908014024
// converts the value of the current system.datetime object to a windows file time
console.writeline(dt.tofiletimeutc().tostring());  //     129036792908014024
// converts the value of the current system.datetime object to a windows file time
console.writeline(dt.tolocaltime().tostring());   //       26/11/2009 am 11:21:30
// converts the value of the current system.datetime object to local time.
console.writeline(dt.tolongdatestring().tostring());   //      2009年11月26日
console.writeline(dt.tolongtimestring().tostring());  //      am 11:21:30
console.writeline(dt.tooadate().tostring());   //      40143.4732731597
console.writeline(dt.toshortdatestring().tostring());   //     26/11/2009
console.writeline(dt.toshorttimestring().tostring());   //     am 11:21
console.writeline(dt.touniversaltime().tostring());   //       26/11/2009 am 3:21:30
console.writeline(dt.year.tostring());   //        2009
console.writeline(dt.date.tostring());   //        26/11/2009 am 12:00:00
console.writeline(dt.dayofweek.tostring());  //       thursday
console.writeline(dt.dayofyear.tostring());   //       330
console.writeline(dt.hour.tostring());       //        11
console.writeline(dt.millisecond.tostring());   //     801        (毫秒)
console.writeline(dt.minute.tostring());   //      21
console.writeline(dt.month.tostring());   //       11
console.writeline(dt.second.tostring());   //      30
console.writeline(dt.ticks.tostring());   //       633948312908014024

console.writeline(dt.timeofday.tostring());   //       12:29:51.5181524
// gets the time of day for this instance.
// 返回 a system.timespan that represents the fraction of the day that has elapsed since midnight.
console.writeline(dt.tostring());     //     26/11/2009 pm 12:29:51
console.writeline(dt.addyears(1).tostring());    //         26/11/2010 pm 12:29:51
console.writeline(dt.adddays(1.1).tostring());    //        27/11/2009 pm 2:53:51
console.writeline(dt.addhours(1.1).tostring());    //       26/11/2009 pm 1:35:51
console.writeline(dt.addmilliseconds(1.1).tostring());    //26/11/2009 pm 12:29:51
console.writeline(dt.addmonths(1).tostring());    //        26/12/2009 pm 12:29:51
console.writeline(dt.addseconds(1.1).tostring());    //     26/11/2009 pm 12:29:52
console.writeline(dt.addminutes(1.1).tostring());    //     26/11/2009 pm 12:30:57
console.writeline(dt.addticks(1000).tostring());    //      26/11/2009 pm 12:29:51
console.writeline(dt.compareto(dt).tostring());    //       0
console.writeline(dt.add(new timespan(1,0,0,0)).tostring());    // 加上一个时间段
(注:
system.timespan为一个时间段,构造函数如下
public timespan(long ticks); // ticks: a time period expressed in 100-nanosecond units.
                           //nanosecond:十亿分之一秒   new timespan(10,000,000)        为一秒
public timespan(int hours, int minutes, int seconds);
public timespan(int days, int hours, int minutes, int seconds);
public timespan(int days, int hours, int minutes, int seconds, int milliseconds);
)
console.writeline(dt.equals("2005-11-6 16:11:04").tostring());     //        false
console.writeline(dt.equals(dt).tostring());    //      true
console.writeline(dt.gethashcode().tostring());    //       1103291775
console.writeline(dt.gettype().tostring());    //       system.datetime
console.writeline(dt.gettypecode().tostring());    //       datetime
  
long start = environment.tickcount;   //单位是毫秒
long end = environment.tickcount;
console.writeline("start is : "+start);
console.writeline("end is : "+end);
console.writeline("the time is {0}",end-start);
console.writeline(dt.getdatetimeformats('s')[0].tostring());    //2009-11-26t13:29:06
console.writeline(dt.getdatetimeformats('t')[0].tostring());    //pm 1:29
console.writeline(dt.getdatetimeformats('y')[0].tostring());    //2009年11月
console.writeline(dt.getdatetimeformats('d')[0].tostring());    //2009年11月26日
console.writeline(dt.getdatetimeformats('d')[1].tostring());    //星期四, 26 十一月, 2009
console.writeline(dt.getdatetimeformats('d')[2].tostring());    //26 十一月, 2009
console.writeline(dt.getdatetimeformats('d')[3].tostring());    //星期四 2009 11 26
console.writeline(dt.getdatetimeformats('m')[0].tostring());    //26 十一月
console.writeline(dt.getdatetimeformats('f')[0].tostring());    //2009年11月26日 pm 1:29
console.writeline(dt.getdatetimeformats('g')[0].tostring());    //26/11/2009 pm 1:29
console.writeline(dt.getdatetimeformats('r')[0].tostring());    //thu, 26 nov 2009 13:29:06 gmt
(注:
常用的日期时间格式:
格式 说明      输出格式 
d 精简日期格式 mm/dd/yyyy 
d 详细日期格式 dddd, mmmm dd, yyyy 
f  完整格式    (long date + short time) dddd, mmmm dd, yyyy hh:mm 
f 完整日期时间格式 (long date + long time) dddd, mmmm dd, yyyy hh:mm:ss 
g 一般格式 (short date + short time) mm/dd/yyyy hh:mm 
g 一般格式 (short date + long time) mm/dd/yyyy hh:mm:ss 
m,m 月日格式 mmmm dd 
s 适中日期时间格式 yyyy-mm-dd hh:mm:ss 
t 精简时间格式 hh:mm 
t 详细时间格式 hh:mm:ss
)

console.writeline(string.format("{0:d}", dt));    //28/12/2009
console.writeline(string.format("{0:d}", dt));    //2009年12月28日
console.writeline(string.format("{0:f}", dt));    //2009年12月28日 am 10:29
console.writeline(string.format("{0:f}", dt));    //2009年12月28日 am 10:29:18
console.writeline(string.format("{0:g}", dt));    //28/12/2009 am 10:29
console.writeline(string.format("{0:g}", dt));    //28/12/2009 am 10:29:18
console.writeline(string.format("{0:m}", dt));    //28 十二月
console.writeline(string.format("{0:r}", dt));    //mon, 28 dec 2009 10:29:18 gmt
console.writeline(string.format("{0:s}", dt));    //2009-12-28t10:29:18
console.writeline(string.format("{0:t}", dt));    //am 10:29
console.writeline(string.format("{0:t}", dt));    //am 10:29:18
console.writeline(string.format("{0:u}", dt));    //2009-12-28 10:29:18z
console.writeline(string.format("{0:u}", dt));    //2009年12月28日 am 2:29:18
console.writeline(string.format("{0:y}", dt));    //2009年12月
console.writeline(string.format("{0}", dt));    //28/12/2009 am 10:29:18
console.writeline(string.format("{0:yyyymmddhhmmssffff}", dt));    //200912281029182047

计算2个日期之间的天数差
datetime dt1 = convert.todatetime("2007-8-1");    
datetime dt2 = convert.todatetime("2007-8-15");   
timespan span = dt2.subtract(dt1);              
int daydiff = span.days ;                    

计算某年某月的天数
int days = datetime.daysinmonth(2009, 8);       
days = 31;                                      

给日期增加一天、减少一天
datetime dt =datetime.now;
dt.adddays(1); //增加一天 dt本身并不改变
dt.adddays(-1);//减少一天 dt本身并不改变