首页 > 解决方案 > Flutter 时区(作为 ZoneId)

问题描述

我对 Flutter 比较陌生。在我做实验的时候,我遇到了一个问题。我的 REST Api 采用时区参数(Zone ID 格式,例如 Europe/London)。

我看到了https://pub.dartlang.org/packages/flutter_native_timezonehttps://pub.dartlang.org/packages/timezone,但这些都不能满足我的需求。

我的目标是,当用户连接到互联网时(如果可能的话,不给应用程序提供任何位置访问权限),获取 ZoneId 格式的时区并反馈给我的后端,以便进行必要的日期和时间调整。类似的东西

>>> var timezone = jstz.determine();
>>> timezone.name(); 
"Europe/London"

呈现在https://bitbucket.org/pellepim/jstimezonedetect

任何见解都会非常有帮助。

提前致谢

标签: timezoneflutter

解决方案


我也一直在寻找这个,这就是我发现的:https ://pub.dev/packages/flutter_native_timezone

它在引擎盖下有点hacky,但它似乎在iOS和Android上都能正常工作。希望这会帮助有需要的人。

用法:

final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
print(currentTimeZone); // Europe/Moscow

推荐阅读