【问题标题】:DateTime comparison in dart飞镖中的日期时间比较
【发布时间】:2019-06-15 20:18:09
【问题描述】:

我正在尝试按升序对 DateTime 时间元素列表进行排序。我已经意识到像 > 或

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    只需使用来自DateTime 的方法isAfter()isBefore()isAtSameMomentAs()

    其他替代方法,使用compareTo(DateTime other),如文档中所述:

    将此 DateTime 对象与 [其他] 进行比较, 如果值相等,则返回零。

    如果此 DateTime [isBefore] [other] 返回负值。它返回 0 如果是 [isAtSameMomentAs] [other],否则返回正值 (当这个 [isAfter] [other])。

    这里是排序日期的代码示例:

    void main() {
      var list = [
        DateTime.now().add(Duration(days: 3)),
        DateTime.now().add(Duration(days: 2)),
        DateTime.now(),
        DateTime.now().subtract(Duration(days: 1))
      ];
    
      list.sort((a, b) => a.compareTo(b));
      print(list);
    }
    

    看到它工作here

    【讨论】:

    • 如何比较两个日期和时间?请分享您的建议。谢谢。
    【解决方案2】:

    这是我如何理解和实现在布尔模式下将导致真/假的代码。

    DateTime valEnd = edate ;
    DateTime date =DateTime.now();
    bool valDate = date.isBefore(valEnd);
    

    【讨论】:

      猜你喜欢
      • 2019-11-11
      • 2019-03-27
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 2012-01-20
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多