ASP.Net C#UTC/GMT日期时间

ASP.Net C#UTC/GMT日期时间,c#,datetime,utc,gmt,C#,Datetime,Utc,Gmt,我想得到UTC 0时间,也就是格林威治标准时间(GMT) 我尝试使用DateTime.UtcNow和DateTime.Now.ToUniversalTime(),但它返回的时间错误。 返回22:40而不是06:40 如何获取UTC/GMT时间(以C#表示) 我尝试DateTime.UtcNow和DateTime.Now.ToUniversalTime()但它返回错误的时间 不,真的没有。(我强烈建议使用前者而不是后者。一般来说,由于夏令时转换,从本地时间转换为UTC可能不明确。我相信在这种特殊情

我想得到UTC 0时间,也就是格林威治标准时间(GMT)

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

如何获取UTC/GMT时间(以C#表示)

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

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

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

基本上,您使用的是正确的属性,因此您需要准确地诊断结果出了什么问题

我建议您从一个小型控制台应用程序开始:

这说明了什么?你在哪个时区

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

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

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

基本上,您使用的是正确的属性,因此您需要准确地诊断结果出了什么问题

我建议您从一个小型控制台应用程序开始:


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

删除了asp.net标记-如果你想再次包含它,请确保问题显示了你为什么认为它相关。删除了asp.net标记-如果你想再次包含它,请确保问题显示了你为什么认为它相关。我不会在任何地方转换datetime。我如何在VS中检查系统时间是对是错?@user999822:你可能认为你没有转换它。。。但有时它会以意想不到的方式发生。在Windows中查看您的系统时钟,并检查它认为所在的时区。我还将用一些示例代码编辑这个问题。当地时间:10:11:42 UTC时间:17:11:42当地时间我的计算机时间正确,但UTC时间错误。实时utc时间07:11:42。我在GMT+3时区。@user999822:很明显,你的计算机不会认为你在GMT+3时区。。。你应该看看操作系统中的日期/时间设置。我不会在任何地方转换日期时间。我如何在VS中检查系统时间是对是错?@user999822:你可能认为你没有转换它。。。但有时它会以意想不到的方式发生。在Windows中查看您的系统时钟,并检查它认为所在的时区。我还将用一些示例代码编辑这个问题。当地时间:10:11:42 UTC时间:17:11:42当地时间我的计算机时间正确,但UTC时间错误。实时utc时间07:11:42。我在GMT+3时区。@user999822:很明显,你的计算机不会认为你在GMT+3时区。。。您应该查看操作系统中的日期/时间设置。
class ShowTimes
{
    static void Main()
    {
        Console.WriteLine("Local time: {0}", DateTime.Now);
        Console.WriteLine("UTC time: {0}", DateTime.UtcNow);
    }
}