ASP.Net C#UTC / GMT DateTime

时间:2012-10-17 06:46:01

标签: c# datetime utc gmt

我希望得到UTC 0时间格林威治标准时间(GMT)。

我尝试使用DateTime.UtcNow和DateTime.Now.ToUniversalTime()但它返回错误的时间。 İts返回22:40而不是06:40

如何在C#中获得UTC / GMT时间。

1 个答案:

答案 0 :(得分:3)

  

我尝试DateTime.UtcNowDateTime.Now.ToUniversalTime(),但它返回错误的时间。

不,它确实没有。 (我强烈建议使用前者而不是后者。通常,由于夏令时转换,从本地时间转换为UTC可能会模糊不清。我相信在这种特殊情况下它可以做是的,但UtcNow是一种更好的方法。)

DateTime.UtcNow 返回当前的UTC时间。如果它给你错误的结果,那么你的系统时钟是错误的 - 或者你正在某个地方执行某些其他的值转换(例如,将其转换为本地时间作为格式化的一部分)。

基本上,您正在使用正确的属性,因此您需要诊断结果出错的位置。

我建议你从一个小的控制台应用开始:

class ShowTimes
{
    static void Main()
    {
        Console.WriteLine("Local time: {0}", DateTime.Now);
        Console.WriteLine("UTC time: {0}", DateTime.UtcNow);
    }
}

这表示什么,你在哪个时区?