Flutter 如何在Flatter中获取时区名称?
如何在Flatter/Dart中获取当前时区名称Flutter 如何在Flatter中获取时区名称?,flutter,dart,Flutter,Dart,如何在Flatter/Dart中获取当前时区名称Asia/Calcutta DateTime.now().timeZoneName获取字符串IST DateTime.now().timeZoneOffset获取持续时间5:30:00.000000 Intl.DateTimeFormat().resolvedOptions().timeZone以JavaScript提供所需的结果Asia/Calcutta 感谢您的帮助。谢谢。查看该软件包,它易于安装和使用 导入包 import'包:flatter
Asia/Calcutta
DateTime.now().timeZoneName
获取字符串IST
DateTime.now().timeZoneOffset
获取持续时间5:30:00.000000
Intl.DateTimeFormat().resolvedOptions().timeZone
以JavaScript提供所需的结果Asia/Calcutta
感谢您的帮助。谢谢。查看该软件包,它易于安装和使用
导入包
import'包:flatter_native_timezone/flatter_native_timezone.dart'代码>
并用作
timezone=wait flatternativetimezone.getLocalTimezone()代码>
我用这种方式将时区固定在颤振中
import 'package:timezone/data/latest.dart' as tz;
import 'package:timezone/timezone.dart' as tz;
static const platform = const MethodChannel('channel NAME');
Future<void> _configureLocalTimeZone() async {
tz.initializeTimeZones();
var locations = tz.timeZoneDatabase.locations;
final locationName = tz.getLocation(locations.keys.first); //Asia/Calcutta
tz.setLocalLocation(locationName);
}
IST是时区的标准缩写,+05:30是该时区的偏移量。除此之外,每个时区都可能有大量不同的时区“名称”,您具体想要哪个可能有些随意。例如,对于您的特定时区,Dart如何知道您想要的是“亚洲/加尔各答”、“亚洲/哥伦布”还是“亚洲/加尔各答”@Abion47 javascript如何知道我想要的是“亚洲/加尔各答”还是“亚洲/哥伦布”?我想它要么任意选择,要么获取您的位置数据并做出最佳猜测。我所能告诉你的就是去做,祝你好运。@Abion47我刚刚用Java在本地Android上测试过,我能用Java.util.TimeZone.getDefault().getID()获取“Asia/Kolkata”。我认为它可能涉及系统的日期时间设置。因此,这是一个严格的过程,就像制作一个Map
对象一样,它使用时区缩写并任意返回IANA时区语言环境名称。很好的发现。写作做得很好。为了和为了。如果看到Flatter在DateTime.now()中添加属性以获得此值,那将是非常棒的。
await _configureLocalTimeZone();