C# DateTime 日期时间 作者:马育民 • 2023-10-17 22:04 • 阅读:10025 # 创建对象 ### 当前时间 ``` DateTime now = DateTime.Now; ``` ### 指定年月日时分秒 ``` DateTime dateTime = new DateTime(yearInt, monthInt,dayInt,hourInt,minuteInt,secondInt); ``` # 获取年月日时分秒 ``` DateTime now = DateTime.Now; now.Year now.Month now.Day now.Hour now.Minute now.Second ``` # 对象格式化成字符串 ``` DateTime.Now.ToString("yyyy-MM-dd"); // 2019-09-04 DateTime.Now.ToString("hh:mm:ss"); // 08:05:57 ``` # 字符串格式成对象 ### 方法一:Convert.ToDateTime(string) ``` string格式有要求,必须是yyyy-MM-dd hh:mm:ss ``` ### 方法二:Convert.ToDateTime(string, IFormatProvider) ``` DateTime dt; DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo(); dtFormat.ShortDatePattern = "yyyy/MM/dd"; dt = Convert.ToDateTime("2011/05/26", dtFormat); ``` ### 方法三:DateTime.ParseExact() ``` string dateString = "20110526"; DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); C# string.Format格式化日期 DateTime dt = new DateTime(2017,4,1,13,16,32,108); string.Format("{0:y yy yyy yyyy}",dt); //17 17 2017 2017 string.Format("{0:M MM MMM MMMM}", dt);//4 04 四月 四月 string.Format("{0:d dd ddd dddd}", dt);//1 01 周六 星期六 string.Format("{0:t tt}", dt);//下 下午 string.Format("{0:H HH}", dt);//13 13 string.Format("{0:h hh}", dt);//1 01 string.Format("{0:m mm}", dt);//16 16 string.Format("{0:s ss}", dt);//32 32 string.Format("{0:F FF FFF FFFF FFFFF FFFFFF FFFFFFF}", dt);//1 1 108 108 108 108 108 string.Format("{0:f ff fff ffff fffff ffffff fffffff}", dt);//1 10 108 1080 10800 108000 1080000 string.Format("{0:z zz zzz}", dt);//+8 +08 +08:00 string.Format("{0:yyyy/MM/dd HH:mm:ss.fff}",dt); //2017/04/01 13:16:32.108 string.Format("{0:yyyy/MM/dd dddd}", dt); //2017/04/01 星期六 string.Format("{0:yyyy/MM/dd dddd tt hh:mm}", dt); //2017/04/01 星期六 下午 01:16 string.Format("{0:yyyyMMdd}", dt); //20170401 string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", dt); //2017-04-01 13:16:32.108 除去string.Format()可以对日期进行格式化之外,*.ToString()也可以实现相同的效果: DateTime dt = new DateTime(2017,4,1,13,16,32,108); dt.ToString("y yy yyy yyyy");//17 17 2017 2017 dt.ToString("M MM MMM MMMM");//4 04 四月 四月 dt.ToString("d dd ddd dddd");//1 01 周六 星期六 dt.ToString("t tt");//下 下午 dt.ToString("H HH");//13 13 dt.ToString("h hh");//1 01 dt.ToString("m mm");//16 16 dt.ToString("s ss");//32 32 dt.ToString("F FF FFF FFFF FFFFF FFFFFF FFFFFFF");//1 1 108 108 108 108 108 dt.ToString("f ff fff ffff fffff ffffff fffffff");//1 10 108 1080 10800 108000 1080000 dt.ToString("z zz zzz");//+8 +08 +08:00 dt.ToString("yyyy/MM/dd HH:mm:ss.fff"); //2017/04/01 13:16:32.108 dt.ToString("yyyy/MM/dd dddd"); //2017/04/01 星期六 dt.ToString("yyyy/MM/dd dddd tt hh:mm"); //2017/04/01 星期六 下午 01:16 dt.ToString("yyyyMMdd"); //20170401 dt.ToString("yyyy-MM-dd HH:mm:ss.fff"); //2017-04-01 13:16:32.108 ``` # 日期比较 支持 `<,<=,>=,>` # 日期间隔计算 ``` DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now.AddHours(1); // 时间差 TimeSpan ts = endTime - startTime; // 时间差的间隔天数 ts.TotalDays // 时间差间隔小时 ts.TotalHours // 时间差间隔分钟 ts.TotalMinutes // 时间差间隔秒数 TotalSeconds ``` 原文链接:https://blog.csdn.net/yugui/article/details/120009896 https://blog.csdn.net/chinaherolts2008/article/details/111246440 原文出处:http://www.malaoshi.top/show_1IX6QrcHsmjE.html