Dart,获取两个日期时间之间的差异(天-小时-分钟)?

问题描述 投票:0回答:2

如何获取两个日期时间之间的差异(天-小时-分钟)?

        DateTime a = someTimeStamp.toDate();
        print(a);
        final now = DateTime.now();
        print(now);
        var difference = now.difference(a).inMilliseconds;
        print(difference);
        var dt = DateTime.fromMillisecondsSinceEpoch(difference);
        print(dt);

最后显示 1970-01-05 06:40:01.632

flutter dart
2个回答
25
投票

你可以这样得到它们:

DateTime a = DateTime(2022,3,29,4,56);
DateTime b = DateTime.now();

Duration difference = b.difference(a);

print(difference);

int days = difference.inDays;
int hours = difference.inHours % 24;
int minutes = difference.inMinutes % 60;
int seconds = difference.inSeconds % 60;

print("$days day(s) $hours hour(s) $minutes minute(s) $seconds second(s).");

输出:

103:14:07.663000
4 day(s) 7 hour(s) 14 minute(s) 7 second(s).

0
投票

可以使用

DateTime
类提供的差分方法

 //the birthday's date
 final birthday = DateTime(1967, 10, 12);
 final date2 = DateTime.now();
 final difference = date2.difference(birthday).inDays;
  1. 也请尝试以下

    int daysBetween(日期时间从,日期时间到){ from = DateTime(from.year, from.month, from.day); to = DateTime(to.year, to.month, to.day); return (to.difference(from).inHours / 24).round(); }

    //生日日期 最后生日 = DateTime(1967, 10, 12); 最终日期2 = DateTime.now(); 最终差异 = daysBetween(生日, date2);

© www.soinside.com 2019 - 2024. All rights reserved.