Dart 的 Duration 一段时间

发布于 2022-05-24 11:15:08 字数 1264 浏览 1204 评论 0

Duration 顾名思义就是指的一段时间,用 Duration 类可以构造一段时间的对象,Duration 对象实例化的参数非常通俗易懂,可以传入对应的天、时、分、秒、毫秒、微秒 来构造对应的时间段。

Duration({int days: 0, int hours: 0, int minutes: 0,
int seconds: 0, int milliseconds: 0, int microseconds: 0 })

如:

Duration fast = Duration(minutes: 123, hours: 24);
Duration slow = Duration(hours: 20);

实例可以通过 inDays inHours inMinutes 等属性返回该时间段转换为天数、小时、分钟等,此时为向下取整。

Duration fast = Duration(minutes: 123, hours: 24);
print(fast.inDays); // 1

实例化时是可以传入负数的,Duration 也提供了 abs() 方法来获取对应的绝对值:

  Duration ne = Duration(hours: -24);
  print(ne.inDays); // -1
  print(ne.abs().inDays); // 1

比较两个 Duration 对象的大小可以使用 compareTo 方法,如果相等则返回0,大于则返回1,小于则返回 -1,

  Duration fast = Duration(minutes: 123, hours: 24);
  Duration slow = Duration(hours: 20);

  print(fast.compareTo(slow)); // 1
  print(slow.compareTo(fast)); // -1
  print(fast.compareTo(fast)); // 0

更方便的方法是使用操作符,Duration 对象支持 + 、-、*、<、<=、==、>= 、> 等操作符号,乘法操作符另一个乘数是一个整数,而不是 Duration 对象:

除此之外,Duration 还提供了一些常量,如:hoursPerDay、minutesPerDay,hoursPerDay 永远等于 24。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

千纸鹤

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

烙印

文章 0 评论 0

singlesman

文章 0 评论 0

独孤求败

文章 0 评论 0

晨钟暮鼓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文