📜  c# 将 utc 转换为 est - C# (1)

📅  最后修改于: 2023-12-03 14:59:42.231000             🧑  作者: Mango

C# 将 UTC 时间转换为 EST

在C#中,我们可以使用TimeZoneInfo类和DateTime类来将UTC时间转换为东部标准时间(EST) 。下面是一个将UTC时间转换为EST时间的示例代码:

// 使用TimeZoneInfo来获取EST时区信息
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");

// 将UTC时间转换为EST时间
DateTime utcTime = DateTime.UtcNow;
DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, estZone);

// 输出转换后的EST时间
Console.WriteLine($"UTC时间:{utcTime}");
Console.WriteLine($"EST时间:{estTime}");

在上面的示例代码中,我们首先使用FindSystemTimeZoneById方法获取东部标准时间(EST)的TimeZoneInfo对象。然后,我们使用ConvertTimeFromUtc方法将UTC时间转换为EST时间。最后,我们将转换后的UTC和EST时间输出到控制台。

你也可以将上述代码封装为一个方法,以便在需要的时候重复使用:

using System;

public class TimeZoneHelper
{
    public DateTime ConvertUtcToEst(DateTime utcTime)
    {
        TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
        DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, estZone);
        return estTime;
    }
}

// 使用示例
DateTime utcTime = DateTime.UtcNow;
DateTime estTime = TimeZoneHelper.ConvertUtcToEst(utcTime);
Console.WriteLine($"UTC时间:{utcTime}");
Console.WriteLine($"EST时间:{estTime}");

在这个示例中,我们将转换逻辑封装在一个名为TimeZoneHelper的辅助类中,以便在需要的时候可以重复使用。你只需实例化TimeZoneHelper类的对象,然后调用ConvertUtcToEst方法传入UTC时间即可。

注意:代码中使用的"Eastern Standard Time"是表示东部标准时间(EST)的时区标识符。根据你实际的需求,你可能需要使用其他时区标识符。

以上是将UTC时间转换为EST时间的示例代码,希望对你有帮助!