拿到这个需求的第一个想法是:
使用 DateTime
的 timeZoneName
直接获取时区
print(DateTime.now().timeZoneName);
得到的结果是当前的时区的简写,结果太宽泛不是我们想要的结果
flutter: CST
然后百度一通没有结果,后来在stackoverflow上发现 flutter_native_timezone
的存在
其使用简洁,只需要使用下面的方法就可以获取到当前时区
var timezone = await FlutterNativeTimezone.getLocalTimezone();
print(timezone);
打印的结果:
flutter: Asia/Shanghai
flutter_native_timezone
有个缺点是,这个时区的结果只有英文结果,如果是要中文结果的小伙伴,需要自己手动转换为中文了。