【发布时间】: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