草庐IT

datetime - Dart DateTime 坏了?

coder 2023-07-23 原文

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

  1. firstDate:beginningOfMonth(例如,2019 年 6 月 1 日,
  2. lastDate:beginningOfNextMonth(例如,2019 年 7 月 1 日),
  3. 初始日期:DateTime.now()

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

  1. 初始日期:2019-06-30 20:07:25
  2. endOfMonth: 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/

有关datetime - Dart DateTime 坏了?的更多相关文章

  1. ruby-on-rails - Rails 3 I18 : translation missing: da. datetime.distance_in_words.about_x_hours - 2

    我看到这个错误:translationmissing:da.datetime.distance_in_words.about_x_hours我的语言环境文件:http://pastie.org/2944890我的看法:我已将其添加到我的application.rb中:config.i18n.load_path+=Dir[Rails.root.join('my','locales','*.{rb,yml}').to_s]config.i18n.default_locale=:da如果我删除I18配置,帮助程序会处理英语。更新:我在config/enviorments/devolpment

  2. ruby-on-rails - Rails 2.3.11 DateTime BigDecimal 精度 - 2

    我目前有一个运行Ruby1.8.7和Rails2.3.2的RubyonRails项目我有一些从数据库中读取数据的单元测试,特别是两个连续项目的日期时间列,这两个项目应该相隔24小时。在一项测试中,我将项目2的日期时间设置为与项目1的日期时间相同。当我执行断言以确保两个值相等时,测试在rails2.3.2下工作正常。当我升级到rails2.3.11时,测试失败显示两次之间的差异将关闭并出现以下错误:expectedbutwas.这两个版本的rails中似乎存在浮点转换问题。如何解决float问题? 最佳答案 这也发生在我身上,我最终这

  3. ruby - Rails 比较 date.end_of_day.to_datetime 和 date.to_datetime.end_of_day 返回的日期对象值时返回 false - 2

    ruby1.9.3dev(2011-09-23修订版33323)[i686-linux]轨道3.0.20最近为什么在与DateTimeonRails相关的RSpecs项目上工作我发现在给定日期以下语句发出的值date.end_of_day.to_datetime和date.to_datetime.end_of_day虽然它们表示相同的日期时间,但比较时返回false。为了确认这一点,我打开了Rails控制台并尝试了以下操作1.9.3dev:053>monday=Time.now.monday=>2013-02-2500:00:00+05301.9.3dev:054>monday.cla

  4. ruby - `DateTime.strptime` 返回工作日/时间字符串的无效日期 - 2

    为什么Ruby的strptime不将其转换为DateTime对象:DateTime.strptime('Monday10:20:20','%A%H:%M:%S')#=>ArgumentError:invaliddate虽然这些有效?DateTime.strptime('Wednesday','%A')#=>#DateTime.strptime('10:20:20','%H:%M:%S')#=># 最佳答案 这看起来像一个错误-minitech'scomment是正确的。不过,现在有一个解决方法(因为您可能希望它现在起作用):您可以在

  5. ruby - 如何在 Ruby 中使用 DateTime strptime 解析非英语日期? - 2

    我正在尝试解析从CMS导出的日期。不幸的是,瑞典语言环境设置。月份名称缩写为三个字符,这在May和October月份时有所不同(“maj”与“May”以及“okt”与“Oct”)。我希望使用具有正确区域设置的DateTime.strptime来解决这个问题,如下所示:require'locale'Locale.default="sv_SE"require'date'DateTime.strptime("10okt200904:32",'%d%b%Y%H:%M')然而,日期仍然被解析,因为它会使用英文缩写的月份名称:ArgumentError:invaliddatefromlib/rub

  6. ruby - DateTime 解析未按预期工作 - 2

    我的Ruby代码看起来像这样。str=2010-12-02_12-10-26putsstrputsDateTime.parse(str,"%Y-%m-%d_%H-%M-%S")我希望从解析中得到实际时间。相反,我得到这样的输出......2010-12-02_12-10-262010-12-02T00:00:00+00:00我如何获得解析的时间? 最佳答案 这个有效:str="2010-12-02_12-10-26"putsstrputsDateTime.strptime(str,"%Y-%m-%d_%H-%M-%S")这个例子在C

  7. ruby-on-rails - 如何获得 DateTime 持续时间? - 2

    我很困惑如何做到这一点。我需要获取一个日期时间对象,并获取当前时间的持续时间(以小时、天等为单位)。谢谢。 最佳答案 获取以秒为单位的持续时间很容易:>>foo=Time.new=>MonDec2918:23:51+01002008>>bar=Time.new=>MonDec2918:23:56+01002008>>printbar-foo5.104063=>nil所以,五秒多一点。但要以更人性化的形式呈现它,您需要第三方添加,例如time_period_to_s,或Duration包。

  8. ruby-on-rails - Rails 将 DateTime 转换为 'where' 查询中的日期 - 2

    我需要查询数据库并按开始日期过滤事件,但列类型是DateTime。我在模型中做了范围:scope:day,->(start_date){wherestart_date:start_date}对于相同的DateTime值,它工作正常,但我需要一个过滤器来仅按日期而不是DateTime获取Event。我有PG数据库并尝试:scope:day,->(start_date){where("start_date:date=?","#{start_date.to_date}")}但是我得到一个错误 最佳答案 你可以这样做:使用SQL日期函数(取

  9. ruby - Nokogiri 说 2.9.0 以上的 Libxml2 版本坏了,是吗? - 2

    安装信息是这样说的,但我找不到任何引用资料。“目前已知会被破坏”,但被谁知道,是问题是什么?我检查了Nokogiri代码库和问题日志,但找不到对此的引用。这是Nokogiri(本例中为v1.6.3.1)给出的(相关部分)消息:IMPORTANT!Nokogiribuildsandusesapackagedversionoflibxml2.Ifthisisaconcernforyouandyouwanttousethesystemlibraryinstead,abortthisinstallationprocessandreinstallnokogiriasfollows:geminst

  10. ruby - ruby Date.today 和 DateTime.now 的日期错误 - 2

    我已经使用RVM安装了ruby​​-1.8.6-p383。系统ruby是1.9.1_p378-1我在使用ruby​​1.8时从Date.today和DateTime.now得到错误的日期。而Time.now是正确的:irb(main):002:0>DateTime.now.to_s=>"2126--1-10618T11:23:43+00:00"irb(main):004:0>Date.today.to_s=>"2126--1-10618"irb(main):005:0>Time.now=>ThuJan2811:55:27+00002010如果我切换到ruby​​1.9,一切都很好:ir

随机推荐