Flutter 如何获取本地时区名称?
我想得到当地时区的名字,比如“亚洲/东京” 我试过了Flutter 如何获取本地时区名称?,flutter,dart,timezone,Flutter,Dart,Timezone,我想得到当地时区的名字,比如“亚洲/东京” 我试过了 DateTime.now().timeZoneName 这会给出+0530这样的值。有办法得到时区名称吗?有一个软件包。您可以使用此软件包从中获取时区名称。应该是这样的: Future<void> initTimezones() async { // get device timezone String dtz = await FlutterNativeTimezone.getLocalTimezone();
DateTime.now().timeZoneName
这会给出+0530这样的值。有办法得到时区名称吗?有一个软件包。您可以使用此软件包从中获取时区名称。应该是这样的:
Future<void> initTimezones() async {
// get device timezone
String dtz = await FlutterNativeTimezone.getLocalTimezone();
// Load timezone data
var byteData = await rootBundle.load('assets/timezone/2020a.tzf');
tz.initializeDatabase(byteData.buffer.asUint8List());
tz.initializeTimeZones();
// set the local location.
tz.setLocalLocation(tz.getLocation(dtz));
// Iterate and use through the list of timezones.
_locations = tz.timeZoneDatabase.locations;
_locations.values.forEach((element) {
print(element.name);
print(element.currentTimeZone.abbr);
print(element.currentTimeZone.offset);
print(element.currentTimeZone.isDst);
print(element.zones.length);
});
}
import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;
void main() {
tz.initializeTimeZones();
var locations = tz.timeZoneDatabase.locations;
print(locations.length); // => 429
print(locations.keys.first); // => "Africa/Abidjan"
print(locations.keys.last); // => "US/Pacific"
}