5-C#的DateTime使用
C#的DateTime使用
1.创建时间对象
DateTime dt0 = new DateTime();DateTime dt1 = new DateTime(2022, 11, 28); // 只有日期DateTime dt2 = new DateTime(2022, 11, 28, 8, 12, 23); // 日期与时间DateTime dt3 = new DateTime(2022, 11, 28, 8, 12, 23, 300); // 含毫秒Console.WriteLine(dt0);Console.WriteLine(dt1);Console.WriteLine(dt2);Console.WriteLine(dt3.Millisecond);// 1 / 1 / 0001 12:00:00 AM//11 / 28 / 2022 12:00:00 AM//11 / 28 / 2022 8:12:23 AM//11 / 28 / 2022 8:12:23 AM
2.创建时间对象
DateTime dt = new DateTime(2024, 11, 28, 8, 12, 23, 300); // 含毫秒
Console.WriteLine($"日期:{dt.Date}");
Console.WriteLine($"年份:{dt.Year}");
Console.WriteLine($"月份:{dt.Month}");
Console.WriteLine($"日:{dt.Day}");
Console.WriteLine($"时:{dt.Hour}");
Console.WriteLine($"分:{dt.Minute}");
Console.WriteLine($"秒:{dt.Second}");
Console.WriteLine($"毫秒:{dt.Millisecond}");
3.简单延时
var startick = DateTime.Now.Ticks;long endtick;while (true) // 循环执行 10 秒{endtick = DateTime.Now.Ticks;Console.WriteLine(DateTime.Now.Ticks);if ((endtick - startick) / 10000000 > 10)break;}
4.格式化时间输出
DateTime dt = DateTime.Now;Console.WriteLine("yyyy MM dd : " + dt.ToString("yyyy MM dd"));Console.WriteLine("yyyy/MM/dd : " + dt.ToString("yyyy/MM/dd"));Console.WriteLine("yyyyy MM dd ddd : " + dt.ToString("yyyyy MM dd ddd"));Console.WriteLine("yyyy MM dd dddd : " + dt.ToString("yyyy MM dd dddd"));Console.WriteLine("yyyy MM dd h:mm:ss : " + dt.ToString("yyyy MM dd h:mm:ss"));Console.WriteLine("yyyyy MM dd hh:mm:ss : " + dt.ToString("yyyyy MM dd hh:mm:ss"));Console.WriteLine("yyyyy MM dd H:mm:ss : " + dt.ToString("yyyyy MM dd H:mm:ss"));Console.WriteLine("yyyyy MM dd HH:mm:ss : " + dt.ToString("yyyyy MM dd HH:mm:ss"));Console.WriteLine("yyyyy MM dd h:mm:ss t : " + dt.ToString("yyyyy MM dd h:mm:ss t"));Console.WriteLine("yyyyy MM dd h:mm:ss tt : " + dt.ToString("yyyyy MM dd h:mm:ss tt"));
5.格式化时间输出
DateTime.Now.Ticks 属性在C#中表示自公元0001年1月1日午夜12:00:00以来经过的100纳秒间隔数,,10000000为一秒。
6.日期相加减
public DateTime AddYear(int value); // value 是年数,可以是正或负
public DateTime AddMonth(int value); // value 是月数,可以是正或负
public DateTime AddDays(double value); // value 是天数,可以是正或负
public DateTime AddHours(double value); // value 是小时,可以是正或负
public DateTime AddMinutes(double value); // value 是分钟,可以是正或负
public DateTime AddSeconds(double value); // value 是秒数,可以是正或负
public DateTime AddMilliseconds(double value); // value 是毫秒,可以是正或负
public DateTime AddTicks(long value); // value 是 Tick 数,可以是正或负
7.转字符串
//2008年4月24日
System.DateTime.Now.ToString("D");
//2008-4-24
System.DateTime.Now.ToString("d");
//2008年4月24日 16:30:15
System.DateTime.Now.ToString("F");
//2008年4月24日 16:30
System.DateTime.Now.ToString("f");
//2008-4-24 16:30:15
System.DateTime.Now.ToString("G")
//2008-4-24 16:30
System.DateTime.Now.ToString("g");
//16:30:15
System.DateTime.Now.ToString("T");
//16:30
System.DateTime.Now.ToString("t");
//2008年4月24日 8:30:15
System.DateTime.Now.ToString("U");
//2008-04-24 16:30:15Z
System.DateTime.Now.ToString("u");
//4月24日
System.DateTime.Now.ToString("m");
System.DateTime.Now.ToString("M");
//Tue, 24 Apr 2008 16:30:15 GMT
System.DateTime.Now.ToString("r");
System.DateTime.Now.ToString("R");
//2008年4月
System.DateTime.Now.ToString("y");
System.DateTime.Now.ToString("Y");
//2008-04-24T15:52:19.1562500+08:00
System.DateTime.Now.ToString("o");
System.DateTime.Now.ToString("O");
//2008-04-24T16:30:15
System.DateTime.Now.ToString("s");
//2008-04-24 15:52:19
System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff")
//2008年04月24 15时56分48秒
System.DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒");
//星期二, 四月 24 2008
System.DateTime.Now.ToString("dddd, MMMM dd yyyy");
//二, 四月 24 '08
System.DateTime.Now.ToString("ddd, MMM d \"'\"yy");
//星期二, 四月 24
System.DateTime.Now.ToString("dddd, MMMM dd");
//4-08
System.DateTime.Now.ToString("M/yy");
//24-04-08
System.DateTime.Now.ToString("dd-MM-yy");