在C#中将本地时区转换为PST时区

问题描述 投票:6回答:3

假设我现在的系统时区是+5 GMT

现在在我的机器上01/14/2012 05:52PM我想把它转换成PST时区就好

1/14/12 4:52:50 AM PST

反之亦然PST到GMT

c# timezone
3个回答
18
投票
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific SA Standard Time");

DateTime newDateTime = TimeZoneInfo.ConvertTime(existingDateTime, timeZoneInfo);

您可以看到可用时区here的完整图表

还可以看看Converting Between Any Two Time Zones


0
投票

受@ 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;
    }

-2
投票

下面的代码转换为PST。

TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
© www.soinside.com 2019 - 2024. All rights reserved.