flutterdart

Dart, get difference between two DateTimes in (Days-Hours-Minutes)?


How to get difference between two DateTimes in (Days-Hours-Minutes)?

        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);

it shows 1970-01-05 06:40:01.632 at the end


Solution

  • You can get them like this:

    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).");
    

    Output:

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