在Flutter中转换为DateTime似乎不能正常工作。

问题描述 投票:0回答:2

用毫秒进行转换,转换后与原件不同,微秒转换正常。

测试代码。

print("---Milliseconds:");
DateTime dateTimeStart = DateTime.now();
print("Datetime: $dateTimeStart");
int milliseconds = dateTimeStart.millisecondsSinceEpoch;
print("Milliseconds: $milliseconds");
DateTime dateTimeEnd = DateTime.fromMillisecondsSinceEpoch(milliseconds);
print("DateTimeEnd: $dateTimeEnd");
print("---Microseconds:");
print("Datetime: $dateTimeStart");
int microseconds = dateTimeStart.microsecondsSinceEpoch;
print("Microseconds: $microseconds");
DateTime dateTimeEnd2 = DateTime.fromMicrosecondsSinceEpoch(microseconds);
print("DateTimeEnd2: $dateTimeEnd2");

输出:

Iflutter (26574): ----------------毫秒。Iflutter(26574): Datetime: 2020-05-13 18:40:12.675351 <------彼此之间不相等 ! Iflutter (26574): 日期: 2020-05-13 18:40:12.675351 <------彼此之间不平等 ! Milliseconds: Milliseconds: 1589388012675 1589388012675 Iflutter (26574): DateTimeEnd: 2020-05-13 18:40:12.675 <------彼此之间不对等 !!! Iflutter (26574):--------微秒。Iflutter (26574): 微秒: 1589388012675351 1589388012675351 Iflutter(26574): DateTimeEnd2: 2020-05-13 18:40:12.675351 <-------------------------------------------------------------------------------------相同

还是我哪里出了问题?


flutter doctor -v[√] Flutter (Channel stable, v1.17.0, on Microsoft Windows [Version 10.0.18362.836], locale de-DE) - Flutter version 1.17.0 at C:\AndroidStudio\FlutterSDK\flutter - Framework revision e6b34c2b5c (11 days ago), 2020-05-02 11:39:18 -0700 - Engine revision 540786dd51 - Dart version 2.8.1.

[√] Android工具链--为Android设备开发(Android SDK版本28.0.3)--Android SDK在C:\Users\richa\AppData\Local\Androidsdk--平台android-29,build-tools 28.0.3--Java二进制在。C:\\Program Files\Android\Android Studio\jre\bin\java - Java版本OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04) - 接受所有Android许可证。

[√] Android Studio (version 3.6) - Android Studio at C:\Program Files\Android/Android Studio - Flutter插件版本44.0.2 - Dart插件版本192.7761 - Java版本OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS代码(版本1.45.0)-VS代码在C:\Users\richa\AppData\Local\ProgramsMicrosoft VS代码-Flutter扩展版本3.10.1。

[√] 已连接的设备 (1 可用) - SM J510UN - a29a4ea7 - android-arm - Android 6.0.1 (API 23)

- 没有发现问题!

datetime flutter milliseconds
2个回答
0
投票

这不是一个错误。当你进行毫秒转换时,你会失去使用微秒所提供的更高的精度。你放弃了所有额外的微秒,而这些微秒是由DateTime.now()提供的。DateTime 包含当你使用毫秒。

© www.soinside.com 2019 - 2024. All rights reserved.