假设我现在的系统时区是+5 GMT
现在在我的机器上01/14/2012 05:52PM
我想把它转换成PST时区就好
1/14/12 4:52:50 AM PST
反之亦然PST到GMT
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific SA Standard Time");
DateTime newDateTime = TimeZoneInfo.ConvertTime(existingDateTime, timeZoneInfo);
您可以看到可用时区here的完整图表
受@ HarisHasan上面的回答启发,无论您的代码在何处运行,以下方法都将生成PST:
public static DateTime GetPacificStandardTime()
{
var utc = DateTime.UtcNow;
TimeZoneInfo pacificZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var pacificTime = TimeZoneInfo.ConvertTimeFromUtc(utc, pacificZone);
return pacificTime;
}
下面的代码转换为PST。
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");