Datetime Xamarin表单:如何将当前设备时间更改为不同的国家/地区时间

Datetime Xamarin表单:如何将当前设备时间更改为不同的国家/地区时间,datetime,xamarin,timezone,currentculture,Datetime,Xamarin,Timezone,Currentculture,我对约会时间不太熟悉。我目前想知道如何将设备的现有时间转换为其他国家/地区的日期/时间 例如,App.CurrentDate首先获取UTC格式的当前日期和时间 var utcTime = DateTime.UtcNow; 然后将其转换为您需要的时区 TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime zoneTime = TimeZoneInfo.ConvertTi

我对约会时间不太熟悉。我目前想知道如何将设备的现有时间转换为其他国家/地区的日期/时间


例如,App.CurrentDate首先获取UTC格式的当前日期和时间

var utcTime = DateTime.UtcNow;
然后将其转换为您需要的时区

TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime zoneTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, zone);


还可以根据坐标识别时区-

Android和iOS使用IANA时区名称。它们看起来像“美国/纽约”,你可以在列表中找到它们的列表

参考资料

一,


2

我已经测试过了,但它给我抛出了“System.TimeZoneNotFoundException”类型的错误异常。当我使用新西兰标准时间而不是新西兰标准时间时,它可以在iOS和Android上运行。中央标准时间将导致我的例外。我想知道是否会出现设备特定的其他问题:如果时区不支持怎么办?是否有其他方法可以保证获得时间。始终返回TimeZoneNotFoundException。
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("America/New_York");
DateTime estTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, estZone);