flutter - 颤振:DateFormat.parse 仅在桌面 Win32 上在午夜返回错误时间
问题描述
我正在尝试将字符串解析为颤动的 DateTime 。在 android、iOS 和 Web 上,该程序完美运行,但在 Windows 上,它一直返回,仅在午夜,错误的时间。
DateFormat('HH:mm').parse('00:25');
在 Windows 上返回1970-01-01 01:25:00.000
,但1970-01-01 00:25:00.000
在任何其他操作系统上返回,而任何小时 >= 1 返回正确的值。
如果我尝试使用 parseStrict 方法,则会发生以下情况
DateFormat('HH:mm').parseStrict('00:25');
返回FormatException: Error parsing 00:25, invalid hour value: 0 in it with time zone offset 1:00:00.000000. Expected value between 1 and 1. Date parsed as 1970-01-01 01:25:00.000..
提前感谢您的帮助
编辑:这个 DateTime 在本地时区,我不想解析 UTC 时间。不过,我注意到,如果我添加日期,则 DateTime 似乎可以正确解析。但我只需要时间。这些值是商店的营业时间。我知道我应该使用 TimeOfDay 类,但我不能使用它,因为它没有 compareTo 方法,这是我的案例场景所需要的。无论如何,我已经尝试过 Android、iOS 和 Web,它们都可以正确解析时间,唯一有问题的是 Windows
解决方案
推荐阅读
- javascript - 如何将状态值分配给另一个对象?
- javascript - 从距离矩阵 Javascript API 的回调函数访问类属性
- android - 使用双卡手机时如何使用 Phonestate lisner
- java - 即使输入了值,文本字段也会出现空指针错误
- html - 在此上下文中,元素 h3 不允许作为元素标签的子元素。[html]
- mongodb - Tor + Mongodb +localhost27017
- python - Pandas nlargest plus 始终包含“X”
- javascript - Javascript 地图排序
- javonet - 与本机 .net 代码相比,Javonet 性能慢 10 倍?可能是由于对象数组?
- javascript - Javascript - 方法名称的变量?