推特时间到当地时间c#
如何将用户发推的时间转换为本地时间?created_at为我提供了创建tweet的时间,并基于用户的国家/地区,如何使用c#将其更改为本地时间。时间格式为“2012年7月27日星期五15:14:11+0000”。utc_偏移是什么意思?如何使用它来更改时区 我对时区的东西不是很熟悉,谢谢你的帮助:)应该是这样的:推特时间到当地时间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
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调用中将其作为格式字符串的一部分使用,则可能不起作用。