C# 如何从字符串中获取时区?
我有一个字符串,其中包含带有时间和时区的日期。 我想将其转换为C# 如何从字符串中获取时区?,c#,.net,datetime,timezone,C#,.net,Datetime,Timezone,我有一个字符串,其中包含带有时间和时区的日期。 我想将其转换为datetime,并使用字符串中给定的相同时区 我已经尝试将字符串转换为datetime,但它将datetime转换为我的系统时区,这与字符串中给定的时区不同 Convert.ToDateTime("2019-01-20T08:30:00+02:00") 将其转换为我的本地时区,即+05:30。您可以用于此目的,而不是使用日期时间: DateTimeOffset dateTime = DateTimeOffset.Parse("2
datetime
,并使用字符串中给定的相同时区
我已经尝试将字符串转换为datetime
,但它将datetime
转换为我的系统时区,这与字符串中给定的时区不同
Convert.ToDateTime("2019-01-20T08:30:00+02:00")
将其转换为我的本地时区,即+05:30。您可以用于此目的,而不是使用日期时间:
DateTimeOffset dateTime = DateTimeOffset.Parse("2019-01-20T08:30:00+02:00",
CultureInfo.InvariantCulture);
不要忘记在using语句中添加以下内容:
using System.Globalization;
为此,您可以使用,而不是DateTime
:
DateTimeOffset dateTime = DateTimeOffset.Parse("2019-01-20T08:30:00+02:00",
CultureInfo.InvariantCulture);
不要忘记在using语句中添加以下内容:
using System.Globalization;
您可以按照@Salah Akbari的回答中的建议提取时间偏移量,但无法确定时区。这里有更多细节:你想用哪种格式打印你的日期你可以按照@Salah Akbari的回答中的建议提取时间偏移量,但你不能确定时区。这里的更多细节:值得注意的是,您所谈论的是时间偏移,而不是时区。区别在于:大多数时区每年更改其偏移量两次(夏令时)。在.NET中,时区由TimeZoneInfo类表示,并由字符串id标识。值得注意的是,您谈论的是时间偏移,而不是时区。区别在于:大多数时区每年更改其偏移量两次(夏令时)。时区由.NET中的TimeZoneInfo类表示,并由字符串id标识。