日期计算使用的非常多,我们不仅需要掌握常规的属性、方法。还需要了解日期的定式格式化和自定义格式化。为了应付更复杂的日期计算,我们可以再深入了解一下日期扩展。如果想计算两个时间之间的间隔,可以使用TimeSpan。
名称 | 分类 | 说明 |
Date | 属性 | 返回日期时间值的日期部分 |
Year | 属性 | 返回日期值的年份 |
Month | 属性 | 返回日期值的月份 |
Day | 属性 | 返回日期为该月中的第几天 |
DayOfWeek | 属性 | 返回日期为该星期的第几天,也就是星期几 |
DayOfYear | 属性 | 返回日期是该年中的第几天 |
Hour | 属性 | 返回日期时间值的小时部分 |
Minute | 属性 | 返回日期时间值的分钟部分 |
Second | 属性 | 返回日期时间值的秒部分 |
AddYears | 方法 | 给日期值加上指定的年数 |
AddMonths | 方法 | 给日期值加上指定的月数 |
AddDays | 方法 | 给日期值加上指定的天数 |
AddHours | 方法 | 给时间值加上指定的小时数 |
AddMinutes | 方法 | 给时间值加上指定的分钟数 |
AddSeconds | 方法 | 给时间值加上指定的秒数 |
Now | 静态属性 | 返回计算机的当前时间(含日期)。 |
Today | 静态属性 | 返回计算机的当前日期,不含时间。 |
IsLeapYear | 静态方法 | 判断指定的年份是否是闰年。 |
DaysInMonth | 静态方法 | 返回指定月份的天数 |
Vb.Net |
Dim dt As DateTime = DateTime.Now Proj.MsgDebug.Add("DataTime字符串表示: {0}", dt.ToString()) Proj.MsgDebug.Add("DataTime的日期部分: {0}", DateTime.Today) Proj.MsgDebug.Add("DataTime的年份部分: {0}", dt.Year) Proj.MsgDebug.Add("DataTime的月份部分: {0}", dt.Month) Proj.MsgDebug.Add("DataTime的日期部分: {0}", dt.Date) Proj.MsgDebug.Add("DataTime的小时部分: {0}", dt.Hour) Proj.MsgDebug.Add("DataTime的分钟部分: {0}", dt.Minute) Proj.MsgDebug.Add("DataTime的秒部分: {0}", dt.Second) Proj.MsgDebug.Add("DataTime的毫秒部分: {0}", dt.Millisecond) Proj.MsgDebug.Add("DataTime是当月第几天: {0}", dt.Day) Proj.MsgDebug.Add("DataTime是这周的第几天: {0}", dt.DayOfWeek) Proj.MsgDebug.Add("DataTime是这年的第几天: {0}", dt.DayOfYear) Proj.MsgDebug.Add("DataTime取得当天的时间部分(TimeSpan格式): {0}", dt.TimeOfDay) Proj.MsgDebug.Add("DateTime转换为64位二进制数: {0}", dt.ToBinary()) Proj.MsgDebug.Add("DateTime转换为Windows文件时间: {0}", dt.ToFileTime()) Proj.MsgDebug.Add("DateTime转换为UTC Windows文件时间: {0}", dt.ToFileTimeUtc()) Proj.MsgDebug.Add("DateTime转换为本地时间: {0}", dt.ToLocalTime()) Proj.MsgDebug.Add("DateTime转换为OLE自动化日期: {0}", dt.ToOADate()) Proj.MsgDebug.Add("DateTime转换为UTC时间: {0}", dt.ToUniversalTime()) Proj.MsgDebug.Add("DateTime转换为长日期形式: {0}", dt.ToLongDateString()) Proj.MsgDebug.Add("DateTime转换为短日期形式: {0}", dt.ToShortDateString()) Proj.MsgDebug.Add("DateTime转换为长时间形式: {0}", dt.ToLongTimeString()) Proj.MsgDebug.Add("DateTime转换为短时间形式: {0}", dt.ToShortTimeString()) Proj.MsgDebug.Add("增加一年: {0}", dt.AddYears(1)) Proj.MsgDebug.Add("减少一年: {0}", dt.AddYears(-1)) Proj.MsgDebug.Add("增加一月: {0}", dt.AddMonths(1)) Proj.MsgDebug.Add("减少一月: {0}", dt.AddMonths(-1)) Proj.MsgDebug.Add("增加一天: {0}", dt.AddDays(1)) Proj.MsgDebug.Add("减少一天: {0}", dt.AddDays(-1)) Proj.MsgDebug.Add("增加一小时: {0}", dt.AddHours(1)) Proj.MsgDebug.Add("减少一小时: {0}", dt.AddHours(-1)) Proj.MsgDebug.Add("增加一分钟: {0}", dt.AddMinutes(1)) Proj.MsgDebug.Add("减少一分钟: {0}", dt.AddMinutes(-1)) Proj.MsgDebug.Add("增加一秒钟: {0}", dt.AddSeconds(1)) Proj.MsgDebug.Add("减少一秒钟: {0}", dt.AddSeconds(-1)) Proj.MsgDebug.Add("是否闰年: {0}", DateTime.IsLeapYear(dt.Year)) Proj.MsgDebug.Add("当月共有多少天: {0}", DateTime.DaysInMonth(dt.Year, dt.Month)) '返回结果:DataTime字符串表示: 2022-07-19 22:27:10 '返回结果:DataTime的日期部分: 2022-07-19 0:00:00 '返回结果:DataTime的年份部分: 2022 '返回结果:DataTime的月份部分: 7 '返回结果:DataTime的日期部分: 2022-07-19 0:00:00 '返回结果:DataTime的小时部分: 22 '返回结果:DataTime的分钟部分: 27 '返回结果:DataTime的秒部分: 10 '返回结果:DataTime的毫秒部分: 837 '返回结果:DataTime是当月第几天: 19 '返回结果:DataTime是这周的第几天: Tuesday '返回结果:DataTime是这年的第几天: 200 '返回结果:DataTime取得当天的时间部分(TimeSpan格式): 22:27:10.8372827 '返回结果:DateTime转换为64位二进制数: -8585433660546402981 '返回结果:DateTime转换为Windows文件时间: 133027144308372827 '返回结果:DateTime转换为UTC Windows文件时间: 133027144308372827 '返回结果:DateTime转换为本地时间: 2022-07-19 22:27:10 '返回结果:DateTime转换为OLE自动化日期: 44761.9355420949 '返回结果:DateTime转换为UTC时间: 2022-07-19 14:27:10 '返回结果:DateTime转换为长日期形式: 2022年7月19日, 星期二 '返回结果:DateTime转换为短日期形式: 2022-07-19 '返回结果:DateTime转换为长时间形式: 22:27:10 '返回结果:DateTime转换为短时间形式: 22:27 '返回结果:增加一年: 2023-07-19 22:27:10 '返回结果:减少一年: 2021-07-19 22:27:10 '返回结果:增加一月: 2022-08-19 22:27:10 '返回结果:减少一月: 2022-06-19 22:27:10 '返回结果:增加一天: 2022-07-20 22:27:10 '返回结果:减少一天: 2022-07-18 22:27:10 '返回结果:增加一小时: 2022-07-19 23:27:10 '返回结果:减少一小时: 2022-07-19 21:27:10 '返回结果:增加一分钟: 2022-07-19 22:28:10 '返回结果:减少一分钟: 2022-07-19 22:26:10 '返回结果:增加一秒钟: 2022-07-19 22:27:11 '返回结果:减少一秒钟: 2022-07-19 22:27:09 '返回结果:是否闰年: False '返回结果:当月共有多少天: 31 |
C# |
DateTime dt = DateTime.Now; Proj.MsgDebug.Add("DataTime字符串表示: {0}", dt.ToString()); Proj.MsgDebug.Add("DataTime的日期部分: {0}", DateTime.Today); Proj.MsgDebug.Add("DataTime的年份部分: {0}", dt.Year); Proj.MsgDebug.Add("DataTime的月份部分: {0}", dt.Month); Proj.MsgDebug.Add("DataTime的日期部分: {0}", dt.Date); Proj.MsgDebug.Add("DataTime的小时部分: {0}", dt.Hour); Proj.MsgDebug.Add("DataTime的分钟部分: {0}", dt.Minute); Proj.MsgDebug.Add("DataTime的秒部分: {0}", dt.Second); Proj.MsgDebug.Add("DataTime的毫秒部分: {0}", dt.Millisecond); Proj.MsgDebug.Add("DataTime是当月第几天: {0}", dt.Day); Proj.MsgDebug.Add("DataTime是这周的第几天: {0}", dt.DayOfWeek); Proj.MsgDebug.Add("DataTime是这年的第几天: {0}", dt.DayOfYear); Proj.MsgDebug.Add("DataTime取得当天的时间部分(TimeSpan格式): {0}", dt.TimeOfDay); Proj.MsgDebug.Add("DateTime转换为64位二进制数: {0}", dt.ToBinary()); Proj.MsgDebug.Add("DateTime转换为Windows文件时间: {0}", dt.ToFileTime()); Proj.MsgDebug.Add("DateTime转换为UTC Windows文件时间: {0}", dt.ToFileTimeUtc()); Proj.MsgDebug.Add("DateTime转换为本地时间: {0}", dt.ToLocalTime()); Proj.MsgDebug.Add("DateTime转换为OLE自动化日期: {0}", dt.ToOADate()); Proj.MsgDebug.Add("DateTime转换为UTC时间: {0}", dt.ToUniversalTime()); Proj.MsgDebug.Add("DateTime转换为长日期形式: {0}", dt.ToLongDateString()); Proj.MsgDebug.Add("DateTime转换为短日期形式: {0}", dt.ToShortDateString()); Proj.MsgDebug.Add("DateTime转换为长时间形式: {0}", dt.ToLongTimeString()); Proj.MsgDebug.Add("DateTime转换为短时间形式: {0}", dt.ToShortTimeString()); Proj.MsgDebug.Add("增加一年: {0}", dt.AddYears(1)); Proj.MsgDebug.Add("减少一年: {0}", dt.AddYears(-1)); Proj.MsgDebug.Add("增加一月: {0}", dt.AddMonths(1)); Proj.MsgDebug.Add("减少一月: {0}", dt.AddMonths(-1)); Proj.MsgDebug.Add("增加一天: {0}", dt.AddDays(1)); Proj.MsgDebug.Add("减少一天: {0}", dt.AddDays(-1)); Proj.MsgDebug.Add("增加一小时: {0}", dt.AddHours(1)); Proj.MsgDebug.Add("减少一小时: {0}", dt.AddHours(-1)); Proj.MsgDebug.Add("增加一分钟: {0}", dt.AddMinutes(1)); Proj.MsgDebug.Add("减少一分钟: {0}", dt.AddMinutes(-1)); Proj.MsgDebug.Add("增加一秒钟: {0}", dt.AddSeconds(1)); Proj.MsgDebug.Add("减少一秒钟: {0}", dt.AddSeconds(-1)); Proj.MsgDebug.Add("是否闰年: {0}",DateTime.IsLeapYear(dt.Year)); Proj.MsgDebug.Add("当月共有多少天: {0}",DateTime.DaysInMonth(dt.Year,dt.Month)); //返回结果:DataTime字符串表示: 2022-07-19 22:27:10 //返回结果:DataTime的日期部分: 2022-07-19 0:00:00 //返回结果:DataTime的年份部分: 2022 //返回结果:DataTime的月份部分: 7 //返回结果:DataTime的日期部分: 2022-07-19 0:00:00 //返回结果:DataTime的小时部分: 22 //返回结果:DataTime的分钟部分: 27 //返回结果:DataTime的秒部分: 10 //返回结果:DataTime的毫秒部分: 837 //返回结果:DataTime是当月第几天: 19 //返回结果:DataTime是这周的第几天: Tuesday //返回结果:DataTime是这年的第几天: 200 //返回结果:DataTime取得当天的时间部分(TimeSpan格式): 22:27:10.8372827 //返回结果:DateTime转换为64位二进制数: -8585433660546402981 //返回结果:DateTime转换为Windows文件时间: 133027144308372827 //返回结果:DateTime转换为UTC Windows文件时间: 133027144308372827 //返回结果:DateTime转换为本地时间: 2022-07-19 22:27:10 //返回结果:DateTime转换为OLE自动化日期: 44761.9355420949 //返回结果:DateTime转换为UTC时间: 2022-07-19 14:27:10 //返回结果:DateTime转换为长日期形式: 2022年7月19日, 星期二 //返回结果:DateTime转换为短日期形式: 2022-07-19 //返回结果:DateTime转换为长时间形式: 22:27:10 //返回结果:DateTime转换为短时间形式: 22:27 //返回结果:增加一年: 2023-07-19 22:27:10 //返回结果:减少一年: 2021-07-19 22:27:10 //返回结果:增加一月: 2022-08-19 22:27:10 //返回结果:减少一月: 2022-06-19 22:27:10 //返回结果:增加一天: 2022-07-20 22:27:10 //返回结果:减少一天: 2022-07-18 22:27:10 //返回结果:增加一小时: 2022-07-19 23:27:10 //返回结果:减少一小时: 2022-07-19 21:27:10 //返回结果:增加一分钟: 2022-07-19 22:28:10 //返回结果:减少一分钟: 2022-07-19 22:26:10 //返回结果:增加一秒钟: 2022-07-19 22:27:11 //返回结果:减少一秒钟: 2022-07-19 22:27:09 //返回结果:是否闰年: False //返回结果:当月共有多少天: 31 |