如何计算两个日期差值并在Flutter中求出年、月、日

mspsb9vt  于 2022-11-25  发布在  Flutter
关注(0)|答案(3)|浏览(238)

如何更改dart中的日期格式

我得到的开始日期和结束日期的差值是整数。如何将这个整数转换为日期格式...并将其转换为0天0月7天; I need this type of format
but I got this type of format请参见车辆使用年限:

vehicleAge(DateTime doPurchase, DateTime doRenewel) {
    age = doPurchase.difference(doRenewel).abs().inDays.toInt();
    return age;
  }

那是我的职责...

wfypjpf4

wfypjpf41#

使用此包time_machine并尝试以下代码

vehicleAge(DateTime doPurchase, DateTime doRenewel) {

  LocalDate a = LocalDate.dateTime(doPurchase);
  LocalDate b = LocalDate.dateTime(doRenewel);
  
  Period diff = b.periodSince(a);
  return "${diff.years} Years ${diff.months} Months ${diff.days} Days";
}
ahy6op9u

ahy6op9u2#

试试这个

vehicleAge(DateTime doPurchase, DateTime doRenewel) {
    Duration parse = doPurchase.difference(doRenewel).abs();
    return "${parse.inDays~/360} Years ${((parse.inDays%360)~/30)} Month ${(parse.inDays%360)%30} Days";
  }
irlmq6kh

irlmq6kh3#

正确答案

我得到了正确答案use jiffy package
import 'package:jiffy/jiffy.dart';
则使用此代码

vehicleAge(DateTime doPurchase, DateTime doRenewel) {
    var dt1 = Jiffy(doPurchase);
    var dt2 = Jiffy(doRenewel);

    int years = int.parse("${dt2.diff(dt1, Units.YEAR)}");
    dt1.add(years: years);

    int month = int.parse("${dt2.diff(dt1, Units.MONTH)}");
    dt1.add(months: month);

    var days = dt2.diff(dt1, Units.DAY);

    
    return "$years Years $month Month $days Days";
    
  }

相关问题