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

hts6caw3  于 2023-05-19  发布在  Flutter
关注(0)|答案(2)|浏览(353)

我可以通过在Flutter中传递城市和国家作为参数来获得时区吗?
我使用DateTime类来获取一个时区,如下所示:

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对象的时区?

wlsrxk51

wlsrxk511#

首先你需要添加“时区”包

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);
}
0yg35tkg

0yg35tkg2#

**免责声明:**我是《糖》的作者之一。

您可以使用“糖”包:

dependencies:
  sugar: ^3.0.0

要使用软件包,请执行以下操作:

import 'package:sugar/sugar.dart';

void currentTime() {
  final now = ZonedDateTime.now(Timezone('Europe/Istanbul'));
}

有关详细信息,请参阅ZonedDateTime

相关问题