推特时间到当地时间c#

推特时间到当地时间c#,c#,timezone,C#,Timezone,如何将用户发推的时间转换为本地时间?created_at为我提供了创建tweet的时间,并基于用户的国家/地区,如何使用c#将其更改为本地时间。时间格式为“2012年7月27日星期五15:14:11+0000”。utc_偏移是什么意思?如何使用它来更改时区 我对时区的东西不是很熟悉,谢谢你的帮助:)应该是这样的: DateTime localDateTime = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", new

如何将用户发推的时间转换为本地时间?created_at为我提供了创建tweet的时间,并基于用户的国家/地区,如何使用c#将其更改为本地时间。时间格式为“2012年7月27日星期五15:14:11+0000”。utc_偏移是什么意思?如何使用它来更改时区

我对时区的东西不是很熟悉,谢谢你的帮助:)

应该是这样的:

DateTime localDateTime = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", new CultureInfo("en-US"));
除非在DateTime的构造函数中指定DateTimeKind,否则DateTime将位于工作站/服务器管理员为Windows选择的时区中。

您将希望使用。这允许您捕获日期和时间以及UTC的偏移量

您希望用于Twitter时报的格式为:

string twitterDate = "Fri Jul 27 15:14:11 +0000 2012";

DateTimeOffset dt = DateTimeOffset.ParseExact(twitterDate, 
    "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
请注意,并成功地正确解析偏移量。这意味着您在将来依赖它时应该小心(除非文档更改以反映此功能)


一旦有了
DateTimeOffset
,就知道了UTC的偏移量。如果您想在本地时间获取它,可以在解析后的
DateTimeOffset
上调用,它将返回一个实例,该实例基于您的本地设置具有偏移量。

有趣的是,它没有文档记录。我猜它在解析时起作用,如果您在ToString调用中将其作为格式字符串的一部分使用,则可能不起作用。