我在c#中使用DateTime.UtcNow
和DateTime.Now
但是他们都错误地返回了小时和分钟。
我的正确时间是23:04,它的返回时间是20:34或类似的东西
我把这段代码放在DateTime函数之前:
System.Globalization.CultureInfo.CurrentCulture.ClearCachedData();
但同样......
我能做什么?
答案 0 :(得分:0)
你的问题不是很清楚你的时区是什么?对于Pacfic标准时区使用,您可以根据您的要求更改字符串名称,并且PS也会重新检查您的系统时间。
TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"));
答案 1 :(得分:0)
您需要检查计算机的时区和时区设置。您有两种选择之一:
1)代码:
Console.WriteLine(string.Concat("DateTime.Now: ", DateTime.Now.TimeOfDay));
Console.WriteLine(string.Concat("DateTime.UtcNow: ", DateTime.UtcNow.TimeOfDay));
Console.WriteLine(string.Empty);
string tziString = TimeZoneInfo.Local.Id;
Console.WriteLine(string.Concat(tziString, ": ",
TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById(tziString)).TimeOfDay));
Console.WriteLine(string.Concat("UTC Offset: ", TimeZoneInfo.Local.GetUtcOffset(DateTimeOffset.Now)));
结果:
2)右键单击任务栏右侧的日期和时间,然后单击"调整日期/时间":
如果时区设置不正确,您必须通过选项2进行更改,这样才能成为我开始使用的选项。