【发布时间】:2015-11-06 19:58:06
【问题描述】:
以下代码在升级到 asp5 之前可以正常工作。 DNX Core 5.0 不支持 ConvertTimeFromUtc 方法。是否有另一种适当的方法来实现这一目标?
public DateTime GmtNow() {
return TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"));
}
【问题讨论】:
-
你不能用
TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"))吗? -
哦,所以当时重构了,有道理。谢谢。您可以将此作为答案发布,以便我接受吗?干杯
-
也许我忽略了一些显而易见的事情,但这种转换的意义究竟是什么?
DateTime.UtcNow不是已经给你正确的价值了吗?是的,DateTime.UtcNow没有任何夏令时,但 GMT 也不应该有,即使微软确实混淆地声称它有。 -
嗯,我需要考虑一些变量。我有一个爱尔兰网站,但服务器托管在荷兰,我想为所有用户返回爱尔兰时间。此外,当使用普通 utc 时,我注意到夏令时问题,因此需要进行适当的转换,这就是我需要上述解决方案的原因。希望这是有道理的,谢谢你的提问。
-
另外,这只是一个术语混淆。 Microsoft 使用 GMT 来指代包含都柏林、爱丁堡、里斯本、伦敦的时区,而那些确实使用夏令时的时区。此外,TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time").SupportsDaylightSavingTime 将返回 true,因此支持夏令时。
标签: c# asp.net-core dnx