Open huruji opened 5 years ago
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 等属性返回该时间段转换为天数、小时、分钟等,此时为向下取整。
inDays
inHours
inMinutes
Duration fast = Duration(minutes: 123, hours: 24); print(fast.inDays); // 1
实例化时是可以传入负数的,Duration 也提供了 abs() 方法来获取对应的绝对值:
abs()
Duration ne = Duration(hours: -24); print(ne.inDays); // -1 print(ne.abs().inDays); // 1
比较两个 Duration 对象的大小可以使用 compareTo 方法,如果相等则返回0,大于则返回1,小于则返回 -1,
compareTo
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。
Duration 顾名思义就是指的一段时间,用 Duration 类可以构造一段时间的对象,Duration 对象实例化的参数非常通俗易懂,可以传入对应的天、时、分、秒、毫秒、微秒 来构造对应的时间段。
如:
实例可以通过
inDays
inHours
inMinutes
等属性返回该时间段转换为天数、小时、分钟等,此时为向下取整。实例化时是可以传入负数的,Duration 也提供了
abs()
方法来获取对应的绝对值:比较两个 Duration 对象的大小可以使用
compareTo
方法,如果相等则返回0,大于则返回1,小于则返回 -1,更方便的方法是使用操作符,Duration 对象支持 + 、-、*、<、<=、==、>= 、> 等操作符号,乘法操作符另一个乘数是一个整数,而不是 Duration 对象:
除此之外,Duration 还提供了一些常量,如:hoursPerDay、minutesPerDay,hoursPerDay 永远等于 24。