Date 颤振:国际,时间
我尝试使用intl包转换日期时间,但它返回给我的时间总是8小时,而这里是10小时(我住在德国)。代码如下:Date 颤振:国际,时间,date,flutter,dart,time,flutter-intl,Date,Flutter,Dart,Time,Flutter Intl,我尝试使用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-0
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,打印的结果是正确的。所以,这取决于手机的设置?如果您使用print(now)
,您是否在控制台中获得正确的值?不,总是在两小时前(现在是11点,它给我9点)我现在打印时区名称,它给我GMT。我认为默认情况下是utc。但我该如何更改它呢?在我的例子(西班牙)中,它是正确打印的,我在手机的系统设置中有GMT+02:00中欧夏季时间。我有自动功能,它给了我GMT+0。现在我设定到德国,给我GMT+2,打印的结果是正确的。那么,这取决于手机的设置?