【发布时间】:2020-04-17 08:11:11
【问题描述】:
我在颤振上运行它,但我想这可能是一个更普遍的问题。
我在首选项中保存了一个日期时间。然后我希望能够判断DateTime.now() 是否在至少在最后一次保存的 DateTime 之后的一天,即
(pseudocode)
lastDailyCheck = 2020.04.10
now = 2020.04.11
=> 现在是 lastDailyCheck 的第二天。
如果它是新一天的 00:01,这应该已经有效,即使 lastDailyCheck 是前一天的 23:58,这意味着 2 个 DateTimes 之间的差异可以低至几分钟。
原来这真的很复杂!
以下是不起作用的:
DateTime.Now().isAfter(lastDailyCheck)
这仅检查 now 是否在 最后一个之后,它也在一秒钟后返回 true,并且在同一天。
DateTime.Now().isAfter(lastDailyCheck) && lastDailyCheck.day != DateTime.Now().day
我认为这很聪明。如果这一天不同并且它是在最后一天之后,那么它确实可以识别它是一天之后 - 但后来我意识到当这两天都在一个月的 15 号时它会出错 -那么lastDailyCheck.day 将等于DateTime.Now().day。
你认为这里有什么可能?
【问题讨论】:
标签: date datetime flutter dart