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本身并不改变