如何在 Flutter web 上获取本地时区?

Mar*_*ary 0 timezone dart flutter flutter-web

我想获取当前时区,例如欧洲/伦敦。flutter_native_timezone不适用于网络。如何获得?

Spa*_*atz 5

我们仍然可以从DateTime.now()以下位置确定本地时区:

  print(DateTime.now().timeZoneName);
  print(DateTime.now().timeZoneOffset);
Run Code Online (Sandbox Code Playgroud)

如果您对之前的结果不满意,我们可以通过库使用ECMAScript 国际化 APIdart:js

import 'dart:js' as js;
//...
var dtf = js.context['Intl'].callMethod('DateTimeFormat');
var ops = dtf.callMethod('resolvedOptions');
print(ops['timeZone']);
Run Code Online (Sandbox Code Playgroud)