一、当前时间的获取
C# 提供了多种方式获取当前时间,最常用的方法是使用 DateTime.Now 属性。
DateTime now = DateTime.Now;
Console.WriteLine("当前时间:" + now);
此外,还可以使用 DateTime.UtcNow 属性获取 UTC 时间,或者使用 DateTimeOffset.Now 属性获取带有时区偏移的时间。
二、时间格式化输出
在实际开发中,我们需要将时间以指定的格式进行输出展示。这时可以使用 DateTime.ToString 方法,将时间转换为字符串并进行格式化。
DateTime now = DateTime.Now;
string format1 = "yyyy-MM-dd HH:mm:ss";
string format2 = "MMM dd, yyyy HH:mm:ss";
Console.WriteLine(now.ToString(format1));
Console.WriteLine(now.ToString(format2));
以上代码将输出类似于以下格式的时间字符串:
2021-07-22 17:30:00
Jul 22, 2021 17:30:00
三、时间比较与计算
C# 中,可以使用 DateTime.Compare 方法比较两个时间的大小关系。此外,可以使用简单的数学运算符进行时间的计算。
DateTime time1 = DateTime.Now;
DateTime time2 = time1.AddMinutes(30);
Console.WriteLine(DateTime.Compare(time1, time2));
Console.WriteLine(time1 < time2);
TimeSpan duration = time2 - time1;
Console.WriteLine(duration.TotalMinutes);
以上代码将输出类似于以下内容:
时间一比时间二早:-1
时间一比时间二早:True
时间差为 30 分钟
四、时间的加减
可以使用 DateTime.AddDays、DateTime.AddHours、DateTime.AddMinutes 等方法对时间进行加减。
DateTime now = DateTime.Now;
DateTime later = now.AddHours(2);
Console.WriteLine(later);
以上代码将输出当前时间 2 小时后的时间。
五、时间的时区设置
C# 提供了 TimeZoneInfo 类来处理时区相关的操作。可以使用 TimeZoneInfo.ConvertTime 方法将本地时间转换为其他时区的时间。
DateTime localTime = DateTime.Now;
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime cstTime = TimeZoneInfo.ConvertTime(localTime, cstZone);
Console.WriteLine(cstTime);
以上代码将输出当前时间对应的中央标准时间。