【问题标题】:Flutter: intl, time颤振:国际,时间
【发布时间】:2019-03-05 16:14:12
【问题描述】:

我正在尝试使用 intl 包 转换日期时间,但它返回给我的小时总是 8,而这里是 10(我住在德国)。代码如下:

  String test(){
    var now = new DateTime.now();
    var formatter = new DateFormat('yyyy-MM-dd_hh');
    String formatted = formatter.format(now);
    return formatted; // something like 2013-04-20
  }

我也尝试过类似的方法:

var de = new Intl('de_DE');
var format = de.date().add_d().add_H();

但小时总是 8 点

【问题讨论】:

  • 如果你使用print(now),你会在控制台中得到正确的值吗?
  • 不,总是提前两小时(现在是 11 点,它给了我 9 点)
  • 我现在打印时区名称,它给了我 GMT。我认为默认情况下是UTC。但是我该如何改变呢?
  • 在我的情况下(西班牙),它打印正确,并且我的手机系统设置中有 GMT +02:00 中欧夏令时间。
  • 我有自动的,它给了我 GMT + 0。现在我设置为德国,给我 GMT + 2,打印是正确的。那么,这取决于手机的设置?

标签: date flutter dart time flutter-intl


【解决方案1】:

¿您是否尝试在执行应用的手机或模拟器的系统设置中更改时区?

时间取自手机本身。

【讨论】:

    猜你喜欢
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 2023-01-14
    • 1970-01-01
    • 2019-01-28
    • 2020-09-11
    • 2023-03-12
    相关资源
    最近更新 更多