Hi Guys, Welcome to Proto Coders Point. In this Flutter/Dart article, will learn how to get time difference between dates, This is very useful when you are building any flutter application & want to substract two dates and get difference between two datetimes in flutter.
To Achieve this we will make use of DateTime.difference method of dart
Example:
void main(){
final DateTime date1 = DateTime(2022,5,30,11,30,40);
final DateTime date2= DateTime(2022,5,30,14,30,40);
final Duration durdef = date2.difference(date1);
print("${durdef.inHours} Hours");
//output (Time difference in Hours): 3 Hours
print("${durdef.inDays} Days");
//output (Time difference in days): 0
print("${durdef.inMinutes} Minutes");
//output (Time difference in minutes): 180
print("${durdef.inSeconds} Seconds");
//output (Time difference in Seconds): 10800
}
Get Time Difference between times
First you need intl package of flutter dart
import 'package:intl/intl.dart';
void main(){
var format = DateFormat("HH:mm");
var one = format.parse("09:30");
var two = format.parse("13:20");
print("${two.difference(one)} Hours "); // prints 3:50
}
Flutter datetime difference – App Example:
import 'package:flutter/material.dart';
void main() {
runApp( MaterialApp(
home: Home()
));
}
class Home extends StatefulWidget {
@override
State<Home> createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
DateTime date1 = DateTime.parse("2022-05-30 11:47:00");
DateTime date2 = DateTime.parse("2022-05-31 10:57:00");
Duration diff = date1.difference(date2);
return Scaffold(
appBar: AppBar(
title: Text("Calculate Difference between DateTime In Flutter App"),
backgroundColor: Colors.redAccent,
),
body: Container(
alignment: Alignment.center,
padding: EdgeInsets.all(20),
child: Column(
children:[
Text("First Date :" + date1.toString()),
Text("Second Date :" + date2.toString()),
Text("Difference in Days: " + diff.inDays.toString()),
Text("Difference in Hours: " + diff.inHours.toString()),
Text("Difference in Minutes: " + diff.inMinutes.toString()),
Text("Difference in Seconds: " + diff.inSeconds.toString()),
]
),
)
);
}
}





