我想将南非时间转换为任何世界时间。我有以下可用值:时区(即布鲁塞尔的 60)和偏移量 = 60。
我试过这个:
var newDate = DateTime.Now.AddMinutes(60);
但它没有给我布鲁塞尔的正确日期时间值。
根据MSDN 页面,您可以使用类似这样的内容(记得选择正确的时区):
DateTime hwTime = DateTime.Now;
try
{
TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
Console.WriteLine("{0} {1} is {2} local time.",
hwTime,
hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName,
TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Registry data on the Hawaiian STandard Time zone has been corrupted.");
}
您可以使用DateTime.ToUniversalTime()DateTime
将任何时间转换为世界时间 (UTC ) 。由于布鲁塞尔提前一小时,因此增加一小时(如果他们在夏令时)或两小时。