c# - C# 中的时区转换

标签 c# datetime timezone

我有一个日期格式,类似于:

Mon, 11 Aug 2009 13:15:10 GMT

如何将其转换为 EST 格式?

最佳答案

这个或类似的应该可以解决问题:

var dateString = "Tue, 11 Aug 2009 13:15:10 GMT";
var date = Convert.ToDateTime(dateString);
var result = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));

值得一提的是,您最初指定的 Mon, 11 Aug 2009 实际上是不正确的,因此我将其更改为 Tue, 11 Aug 2009 所以代码将运行,因为如果日期与日期不匹配,Convert.ToDateTime 会引发异常。

我还假设您指的是东部标准时间,它是与“东部时间(美国和加拿大)”关联的 ID,但您可以获得可用时区的完整列表通过运行以下代码:

foreach(TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
    Console.WriteLine("Id: {0}", info.Id);
    Console.WriteLine("   DisplayName: {0}", info.DisplayName);
}

关于c# - C# 中的时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537151/

相关文章:

c# - 检查列表中的字符串数组是否包含另一个列表中的字符串,反之亦然

python - 使用 ephem 计算 "Solar Noon",转换为本地时间

python - pytz 和 astimezone() 不能应用于天真的日期时间

datetime - 可为空的日期时间到日期时间转换器自动映射器

flutter/Dart : Convert date to yyyy-MM-dd'T'HH:mm:ss. SSS'Z'

php显示错误的日期

perl - 如何在Perl Template::Plugin::Date中切换时区?

c# - Python 的列表理解与 .NET LINQ

c# - HttpClient 获取同一网站内的数据

c# - 如果时间为1 :00am Run the function in C#?