C#中的日期时间
C#中的日期时间
要在 .NET 中处理日期和时间,我们需要使用 DateTime 结构。它表示从 0001 年 1 月 1 日 00:00:00 到 9999 年 12 月 31 日 23:59:59 的日期和时间。
您还可以使用构造函数来创建新的 DateTime 对象。空构造函数创建一个初始日期:
1 日期时间日期时间 = 新
约会时间();
2 Console.WriteLine(日期时间); // 01.01.0001
也就是说,我们会得到最小的可能值,也可以通过以下方式获得:
1 Console.WriteLine(DateTime.MinValue);
要设置特定日期,您必须使用接受参数的构造函数之一:
1 日期时间日期 1 = 新
日期时间(2022, 08, 28); // 年月日
2 Console.WriteLine(date1); // 28.08.2022
设置时间:
1 日期时间日期 1 = 新
日期时间(2022、8、28、18、30、25); // 年-月-日-时-分-秒
2 Console.WriteLine(date1); // 28.08.2022 15:32:49
如果要获取当前时间和日期,可以使用多个 DateTime 属性:
1 Console.WriteLine(日期时间.现在);
2 Console.WriteLine(DateTime.UtcNow);
3 Console.WriteLine(DateTime.Today);
控制台输出:
28.08.2022 11:43:33
28.08.2022 8:43:33
28.08.2022 0:00:00
DateTime.Now 属性采用计算机的当前日期和时间,DateTime.UtcNow — 相对于格林威治标准时间 (GMT) 的日期和时间,以及 DateTime.Today — 仅当前日期。
使用日期时,请记住,默认情况下,公历用于表示日期。但是如果我们想得到 1582 年 10 月 5 日的星期几,会发生什么:
1 日期时间 someDate = 新
日期时间(1582, 10, 5);
2 Console.WriteLine(someDate.DayOfWeek)
控制台将突出显示星期二的值。然而,从历史上可以知道,从儒略历到公历的第一次过渡发生在 1582 年 10 月。然后,在 10 月 4 日(星期四)(根据儒略历)之后立即切换到 10 月 15 日(星期五) (按公历)。所以,事实上,10天被删除了。也就是说,10 月 4 日之后是 10 月 15 日。
在大多数情况下,这一事实不太可能影响计算,但在处理非常旧的日期时,应考虑这一方面。
日期时间操作
DateTime 结构的主要操作与日期的加减有关。例如,您需要在某个日期上增加或减少几天。
有多种方法用于添加日期:
• Add(TimeSpan value):将 TimeSpan 值添加到日期。
• AddDays(double value):在当前日期上增加几天
• AddHours(double value):将几个小时添加到当前日期
•AddMinutes(double value):在当前日期增加几分钟
• AddMonths(int value):将几个月添加到当前日期
• AddYears(int value):将一些年份添加到当前日期
例如,将 3 小时添加到某个日期:
1 日期时间日期 1 = 新
日期时间(2022、8、28、18、30、25); // 28.08.2022 18:30:25
2 Console.WriteLine(date1.AddHours(3)); // 28.08.2022 21:30:25
Subtract(DateTime 日期) 方法 用于减去日期:
1 日期时间日期 1 = 新
日期时间(2022、8、28、18、30、25); // 28.08.2022 18:30:25
2 日期时间 date2 = 新
日期时间(2022、8、28、15、30、25); // 28.08.2022 15:30:25
3 Console.WriteLine(date1.Subtract(date2)); // 03:00:00
这里的日期相差三个小时,所以结果是“03:00:00”。
Substract 方法没有单独减去天数、小时数等的选项。但它不需要,因为我们可以将负值传递给 AddDays() 方法和其他 add 方法:
1 // 减去三个小时
2 日期时间日期 1 = 新
日期时间(2022、8、28、18、30、25); // 28.08.2022 18:30:25
3 Console.WriteLine(date1.AddHours(-3)); // 28.08.2022 15:30:25
除了加减运算之外,还有很多日期格式化方法:
1 日期时间日期 1 = 新
日期时间(2022、8、28、18、30、25);
2 Console.WriteLine(date1.ToLocalTime()); // 28.08.2022 21:30:25
3 Console.WriteLine(date1.ToUniversalTime()); // 28.08.2022 15:30:25
4 Console.WriteLine(date1.ToLongDateString()); // 2022 年 8 月 28 日
5 Console.WriteLine(date1.ToShortDateString()); // 28.08.2022
6 Console.WriteLine(date1.ToLongTimeString()); // 18:30:25
7 Console.WriteLine(date1.ToShortTimeString()); // 18:30
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」