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

问题描述 投票:0回答:2

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

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

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

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

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

问题是如何以某种方式解决

city
对象的时区?

flutter timezone country city
2个回答
3
投票

首先你需要添加“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);
}

0
投票

免责声明: 我是 Sugar 的作者之一。

可以使用“糖”包:

dependencies:
  sugar: ^3.0.0

要使用包:

import 'package:sugar/sugar.dart';

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

有关更多信息,请参阅ZonedDateTime

© www.soinside.com 2019 - 2024. All rights reserved.