C# 如何从时区名称中获取日期和时间
如果我们提供时区区域的名称,如C# 如何从时区名称中获取日期和时间,c#,timezone,C#,Timezone,如果我们提供时区区域的名称,如“America/Phoenix”,是否有办法以C#获取当前日期和时间 我尝试了以下代码:- TimeZoneInfo ZoneName = System.TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time"); DateTime dataTimeByZoneId = System.TimeZoneInfo.ConvertTime(DateTime.Now,System.TimeZoneInf
“America/Phoenix”
,是否有办法以C#获取当前日期和时间
我尝试了以下代码:-
TimeZoneInfo ZoneName = System.TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");
DateTime dataTimeByZoneId = System.TimeZoneInfo.ConvertTime(DateTime.Now,System.TimeZoneInfo.Local, ZoneName);
但它接受/期望输入为“美国标准时区”
。
我希望输入为
“America/Phoenix”
。请务必让我知道我们是否有任何C#中的选项/方法来实现这一点?时区id类似于美国/凤凰城
来自。Net的TimeZoneInfo
类不使用该数据。有关详细信息,请参阅
要在.NET中使用IANA时区标识符,您应该查看。以下是您如何使用野田佳彦时间获取美国/凤凰城的当前本地时间:
Instant now = SystemClock.Instance.Now;
DateTimeZone tz = DateTimeZoneProviders.Tzdb["America/Phoenix"];
ZonedDateTime zdt = now.InZone(tz);
// Then depending on what your needs are, pick one of the following:
LocalDateTime ldt = zdt.LocalDateTime;
DateTime dt = zdt.ToDateTimeUnspecified();
DateTimeOffset dto = zdt.ToDateTimeOffset();
对于处理时间和日期相关的任务,我建议使用野田佳彦时间。有关更多信息,请参阅。查看此。它可能会帮助你:)谢谢你的回复。将在执行代码后通知您