Flutter获取当前所在的时区

拿到这个需求的第一个想法是:

使用 DateTimetimeZoneName 直接获取时区

print(DateTime.now().timeZoneName);

得到的结果是当前的时区的简写,结果太宽泛不是我们想要的结果

flutter: CST

然后百度一通没有结果,后来在stackoverflow上发现 flutter_native_timezone 的存在

其使用简洁,只需要使用下面的方法就可以获取到当前时区

var timezone = await FlutterNativeTimezone.getLocalTimezone();   
print(timezone);

打印的结果:

flutter: Asia/Shanghai

flutter_native_timezone 有个缺点是,这个时区的结果只有英文结果,如果是要中文结果的小伙伴,需要自己手动转换为中文了。

你可能感兴趣的:(Flutter获取当前所在的时区)