我可以在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
对象的时区?
首先你需要添加“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);
}
免责声明: 我是 Sugar 的作者之一。
可以使用“糖”包:
dependencies:
sugar: ^3.0.0
要使用包:
import 'package:sugar/sugar.dart';
void currentTime() {
final now = ZonedDateTime.now(Timezone('Europe/Istanbul'));
}
有关更多信息,请参阅ZonedDateTime。