Flutter 如何在flatter中获取当前时区

Flutter 如何在flatter中获取当前时区,flutter,timezone,Flutter,Timezone,我不熟悉flifter,我的restapi将当前时区设置为欧洲/伦敦。我不知道现在的时区在哪。stackoverflow中有一个关于此主题的问题,但没有用户给出答案 有谁能给我指点一下,我怎样才能用dart获得颤振中的当前时区。可能对你有用 通过构建 也有点相关。这方面有一个很好的库: DateTime是解决时区相关问题所需的默认类give use timezone和time offset DateTime dateTime = DateTime.now(); print(dateTime

我不熟悉flifter,我的restapi将当前时区设置为欧洲/伦敦。我不知道现在的时区在哪。stackoverflow中有一个关于此主题的问题,但没有用户给出答案

有谁能给我指点一下,我怎样才能用dart获得颤振中的当前时区。

可能对你有用

通过构建


也有点相关。

这方面有一个很好的库:
DateTime
是解决时区相关问题所需的默认类give use timezone和time offset

 DateTime dateTime = DateTime.now();
 print(dateTime.timeZoneName);
 print(dateTime.timeZoneOffset);
输出:

1。印度

timeZoneName: IST
timeZoneOffset: 5:30:00.000000
2。美国/洛杉矶

timeZoneName: PST
timeZoneOffset: -8:00:00.000000

时区列表:

可能对某人有用,我正在使用:

String formatDateToStringWithTimeZone(DateTime date) {
  var dur = date.timeZoneOffset;
  if (dur.isNegative)
    return "${DateFormat("y-MM-ddTHH:mm:ss").format(date)}-${dur.inHours.toString().padLeft(2, '0')}:${(dur.inMinutes - (dur.inHours * 60)).toString().padLeft(2, '0')}";
  else
    return "${DateFormat("y-MM-ddTHH:mm:ss").format(date)}+${dur.inHours.toString().padLeft(2, '0')}:${(dur.inMinutes - (dur.inHours * 60)).toString().padLeft(2, '0')}";
}
///时区名称。///此值由 操作系统,可以是///缩写或全名。
//////在浏览器中或在类Unix系统上通常返回 缩写,///如“CET”或“CEST”。在Windows上返回 全名,例如//“太平洋标准时间”。
外部字符串获取时区名称

///时区偏移量,它///是 当地时间和UTC时区的偏移量为正 UTC以东。///注意,JavaScript、Python和C返回 UTC和///本地时间之间的差异。Java、C#和Ruby 返回本地时间和///UTC之间的差值。
外部持续时间获取时区偏移

DateTime.now().timeZoneName

如果时间实例以UTC为单位

timeInstance.toLocal().timeZoneName

而且

///DateTime类不提供国际化。//到 国际化您的代码,使用/// 包裹

要以
欧洲/莫斯科
格式获取时区,请执行以下操作: 来源:使用


我不明白,也有点搞不清楚如何获得时区。你能告诉我当前时区的信息吗@Gunter Zochbauert软件包文档应该对此进行解释。我没有一个具体的片段。如果我想要timeZoneName为:印度标准时间或太平洋标准时间呢?你可以使用-
DateTime.now()。timeZoneName
我不想要这种格式,我的api采用欧洲/伦敦时区的格式。但是这段代码给了我欧洲标准时间如果我想要timeZoneName为:印度标准时间或太平洋标准时间怎么办?如果我想要timeZoneName为:印度标准时间或太平洋标准时间怎么办?dateTime.timeZoneName只返回“+5:30”而不只是选中:它返回缩写字符串
DateTime.now().timeZoneName
如果我希望timeZoneName为:印度标准时间或太平洋标准时间,该怎么办?如果偏移量为1:30,那么上述代码中不会出现错误该怎么办?
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
print(currentTimeZone); // Europe/Moscow