首页 > 解决方案 > Android 模拟器上的颤振显示不正确的 DateTime.now()

问题描述

模拟器时区与系统时区相同,但 FlutterDateTime.now()返回的是 GMT 时间。

下面代码中的问候语应该是“下午好”。当地时间是15:23显示 Flutter 演示代码的 Android 模拟器


细节:

颤振/飞镖:

flutter --version
Flutter 2.0.3 • 通道稳定 • https://github.com/flutter/flutter.git
框架 • 修订版 4d7946a68d(12 天前) • 2021-03-18 17:24:33 -0700
引擎 • 修订版3459eb2436
工具 • Dart 2.12.2

模拟器:

Android 7.0 (Nougat) 上的 Nexus 5X - API 24
模拟器版本:30.5.3-7196367

系统:

微软 Windows 10 专业版 10.0.15063 内部版本 15063

VS代码:

版本:1.54.3(用户设置)
Electron:11.3.0
Chrome:87.0.4280.141
Node.js: 12.18.3
V8:8.7.220.31-electron.0
操作系统:Windows_NT x64 10.0.15063

标签: flutterdatetimedartandroid-emulator

解决方案


似乎该错误是Nexus 5X Android 7.0 Nougat模拟器特有的,并且代码在Pixel 3a Android 11模拟器上运行良好。

这是两个模拟器上并排的相同代码。当地时间是16:37,格林威治标准时间是11:07这个截图的时间。两个模拟器都已设置为与系统相同的时区。 Flutter 的安卓模拟器


推荐阅读