datetime - Dart DateTime 坏了?

标签 datetime flutter dart datetimepicker

我使用 Flutter 的日历在应用程序中选择日期,但我确保将其限制为仅当月。我通过设置来做到这一点:

  1. firstDate:月份开始(例如,2019 年 6 月 1 日,
  2. lastDate:下个月的开始(例如,2019 年 7 月 1 日),
  3. 初始日期:DateTime.now()

现在是月底(撰写本文时为 6 月 30 日),我收到一个 AssertionError 消息,指出 initialDate 必须等于或早于 lastDate。所以我打印了(最好的调试器!)我的日期,我得到了:

  1. 初始日期:2019-06-30 20:07:25
  2. 月末:2019-07-01 00:00:00

正如我所料。但是当我比较两者时,我得到initialDate.isBefore (endOfMonth) == false)

这只是我的一些人为错误,还是我必须联系 Flutter 团队?

最佳答案

哇,好吧,谈谈竞争条件。在发帖时,我的时间是 GMT-4,时间是 8:30。我正在使用 DateTime.utc。因此 DateTime.now() 将显示为 6 月 30 日晚上 8:30,UTC 时间将尝试调整到我的时区,并在午夜之后结束,这意味着它在技术上是完全不同的天。将 DateTime.utc 替换为 DateTime(),问题就解决了!

关于datetime - Dart DateTime 坏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56828968/

相关文章:

android - 如何从网络下载图片并在 flutter 中离线用作 Assets 图片

android - Flutter:如何在触发转换之前为小部件设置动画?

flutter - 在屏幕之间传递数据

r - 从 R 中的时间数据中提取间隔

flutter - 如何获取待处理通知的[scheduledDate](flutter本地通知)

symfony - 无法从序列化数据创建 DateTime 的实例

dart - 如何在继续 flutter 之前等待 future 的对象?

flutter - Navigator.pop() 回调?

c# - XmlSerializer 不反序列化 DateTime

sql-server - 使用 SQL 将日期范围拆分为多行