Android 模拟器上的 Flutter 显示不正确的 DateTime.now()

Flutter on Android emulator showing incorrect DateTime.now()

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

下面代码中的问候语应该是 'Good afternoon'。当地时间 15:23


详情:

Flutter/Dart:

flutter --version
Flutter 2.0.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4d7946a68d (12 days ago) • 2021-03-18 17:24:33 -0700
Engine • revision 3459eb2436
Tools • Dart 2.12.2

模拟器:

Nexus 5X on Android 7.0 (Nougat) - API 24
Emulator version: 30.5.3-7196367

系统:

Microsoft Windows 10 Pro 10.0.15063 Build 15063

VS 代码:

Version: 1.54.3 (user setup)
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: 8.7.220.31-electron.0
OS: Windows_NT x64 10.0.15063

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

下面是两个模拟器上的相同代码。截屏时当地时间是 16:37,格林威治标准时间是 11:07。两个模拟器都已设置为与系统相同的时区。