如何将美国的DateTime.Now转换为英国的当地时间?

时间:2011-05-27 11:15:00

标签: .net asp.net

希望你们所有人都在享受自己。

我的应用程序在美国的服务器上运行,它使用以下代码来选择日期和时间。

var pickUpTime = DateTime.Now.ToShortTimeString();

我想要的是这个字符串应该花费英国时间而不是美国时间。

你能分享一下你的经历吗?

祝你好运, 阿卜杜拉

3 个答案:

答案 0 :(得分:7)

您可以使用此代码转换时间:

var now = DateTime.UtcNow;
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
var britishLocalTime = TimeZoneInfo.ConvertTime(now, timeZoneInfo);

此代码将考虑夏令时。

如果您想使用其他时区,可以使用TimeZoneInfo.GetSystemTimeZones()获取所有时区并选择您需要的时区。在我的系统上,它返回91个元素。

答案 1 :(得分:1)

您可以将其转换为GMT,然后转换为您想要的任何内容。

Getting current GMT time

答案 2 :(得分:1)

DateTime.UtcNow应该这样做 MSDN