先来看一个例子:
static void Main(string[] args)
{
Console.WriteLine($"本地当前时间:{DateTime.Now}");
Console.WriteLine($"UTC当前时间:{DateTime.UtcNow}");
Console.WriteLine($"当前日期时区:{DateTime.Now.ToString("zzzz")}");
Console.WriteLine($"当前日期时区:{DateTime.UtcNow.ToString("zzzz")}");
Console.ReadLine();
}
看看输出:
本地当前时间:2020/5/20 10:15:18
UTC当前时间:2020/5/20 2:15:18
当前日期时区:+08:00
当前日期时区:+00:00
无论DateTime.Now还是DateTime.UtcNow都是DateTime类型。之所以能输出不同的时区,必然是因为DateTime变量在存储时就带有时区信息。因此,任何一个DateTime变量,都可以转换成本地时间或者任一一个时区的时间。假设我们要把当前时间转为东九区时间,示例:
static void Main(string[] args)
{
DateTime currentZone