请选择 进入手机版 | 继续访问电脑版

Flutter 计算两个日期的时间差

[复制链接]
暖男先生 发表于 2021-1-1 17:42:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Flutter 盘算两个日期的时间差

  我们在开发中,如果遇到盘算2个日期相差多少天,用什么方法得到呢?如果需要知道两个日期相差多少小时、多少分、多少秒,又该如何盘算呢?
实在在 Flutter 中,想要盘算日期和时间的差值非常简朴,是需要使用 difference 函数即可。下面举例来说明。
示例

1. 盘算两个日期相差多少天?

  1. var startDate = new DateTime(2020, 12, 20);var endDate = new DateTime.now();var days = endDate.difference(startDate).inDays;
复制代码
2. 盘算两个日期相差多少小时?

  1. var startDate = new DateTime(2020, 12, 20);var endDate = new DateTime.now();var hours = endDate.difference(startDate).inHours;
复制代码
3. 盘算两个日期相差多少分钟?

  1. var startDate = new DateTime(2020, 12, 20);var endDate = new DateTime.now();var minutes = endDate.difference(startDate).inMinutes;
复制代码
各人看,是不是非常简朴,只要我们使用 difference 方法,就能获取到所有时间单元的差值。
源码简析

实在,DateTime 的 difference 方法 返回的是一个 Duration 对象。
Duration 是什么?
Duration 是用来表现时间跨度(差值)的类,例如27天,4小时,12分钟和3秒。Duration 提供了许多时间单元转换的方法以实时间加减盘算的方法,使用起来非常方便。
注意,Duration 表现时间差值,它可以为负数。
它的属性:
  1.   final int _duration;
复制代码
就是两个时间差值,单元是微秒,它是最焦点的一个属性了。
inDays、inHours、inMinutes 等,都是 Duration 的 get 方法,内部都是通过 _duration 属性除以相应的时间单元来得到结果的。
例如,天数盘算:
  1.   int get inDays => _duration ~/ Duration.microsecondsPerDay;
复制代码
是不是非常方便,而且 Duration 可以在动画等非常多的场景中使用。
  **PS:更多出色内容,请查察 --> 《Flutter 开发》
**PS:更多出色内容,请查察 --> 《Flutter 开发》
**PS:更多出色内容,请查察 --> 《Flutter 开发》

来源:https://blog.csdn.net/u011578734/article/details/111997600
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )