Flutter:查找两个日期之间的天数

标签 flutter date dart difference

我目前有一个用户的个人资料页面,其中显示了他们的出生日期和其他详细信息。但是我打算通过计算今天的日期和从用户那里获得的出生日期之间的差异来找到他们生日的前几天。

用户的出生日期

User DOB

这是使用 intl package 获得的今天日期.

今天的日期

I/flutter ( 5557): 09-10-2018

我现在面临的问题是,如何计算这两个日期的天数差?

是否有任何特定的公式或软件包可供我查看?

最佳答案

可以使用DateTime类提供的difference方法

 //the birthday's date
 final birthday = DateTime(1967, 10, 12);
 final date2 = DateTime.now();
 final difference = date2.difference(birthday).inDays;

更新

由于许多人报告此解决方案存在错误并且为避免更多错误,我将在此处添加@MarcG 提出的正确解决方案,所有功劳归于他。

  int daysBetween(DateTime from, DateTime to) {
     from = DateTime(from.year, from.month, from.day);
     to = DateTime(to.year, to.month, to.day);
   return (to.difference(from).inHours / 24).round();
  }

   //the birthday's date
   final birthday = DateTime(1967, 10, 12);
   final date2 = DateTime.now();
   final difference = daysBetween(birthday, date2);

这是带有完整解释的原始答案:https://stackoverflow.com/a/67679455/666221

关于Flutter:查找两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713115/

相关文章:

ios - 错误状态 : Stream has already been listened to Flutter error

http - 将自定义验证逻辑添加到dart:io HttpClient

android - 在 flutter 中具有拖动效果的滚动条

java - Jackson @JsonFormat 用不正确的时区转换日期

ios - 如何使 NSCalendar 周从星期一而不是星期日开始

r - 在 R 中自动创建具有不同开始日期的日期序列

dart - 聚合物核心选择器不刷新

android - 我在 flutter 中遇到 gradle 问题。无法打开设置文件的设置通用类缓存

objective-c - 如何修复 : "No visible @interface for ' FIRInstanceID' declares the selector 'token' "in iOS build in Flutter

flutter - 如何通过在 flutter 中单击外部来关闭叠加层