Dart 的 Duration 一段时间
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论