如何在 Flutter 中按国家或城市获取时区?

How to get time zone by country or city in Flutter?

我可以在Flutter中通过传递城市和国家作为参数来获取时区吗?

我正在使用 DateTime class 来获取这样的时区:

DateTime var;
print('${var.timeZoneName}'); // -> +3

我需要的是通过传递 country/city 作为参数来获得与上面相同的结果,例如:

Country country; // This is how the model is required, Country is a customized class
print('${country.city.timeZoneName}'); // -> +3

问题是如何以某种方式解析 city 对象的时区?

首先你需要添加“timezone”包

dependencies:
 timezone: ^0.8.0

那么就是这样用的例子:

import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;

void main() {
  tz.initializeTimeZones();
}


Future<void> setup() async {
  await tz.initializeTimeZones();
  var istanbulTimeZone = tz.getLocation('Europe/Istanbul');
  var now = tz.TZDateTime.now(istanbulTimeZone);
}