在找到主要问题后,我试图找出它的替代品。
问题在于DateTimeZone CurrentTZ = DateTimeZoneProviders.Tzdb.GetSystemDefault();
当手机的语言设置为非英语语言(在这种情况下为芬兰语)时出现异常。经过大量搜索后,我无法找到合适的解决方案,因此我创建了自己的解决方案。
解决方案:
更换
Instant Current = SystemClock.Instance.Now;
DateTimeZone CurrentTZ = DateTimeZoneProviders.Tzdb.GetSystemDefault();
ZonedDateTime ZDT = Current.InZone(CurrentTZ);
Result = ZDT.WithZone(TargetDTZ);
和
LocalDateTime Current = LocalDateTime.FromDateTime(DateTime.UtcNow);
DateTimeZone CurrentTZ = DateTimeZoneProviders.Tzdb["Etc/GMT"];
ZonedDateTime ZDT = Current.InZoneLeniently(CurrentTZ);
Result = ZDT.WithZone(TargetDTZ);
我知道这不是这个问题的最干净的解决方案,但它有效。如果这里有人想为我的问题提供更好的解决方案,那么我很乐意接受。