How to Add/subtract years, months, days, hours, minutes, or seconds to a DateTime Dart or Flutter
In this tutorial, You will find multiple ways to add or subtract years, months, days, hours, minutes, or seconds.
- Add Date years, months, days, and time to
DateTime add(Duration)
,Duration
can be days, hours, minutes, or seconds. - Subtract Date years, months, days and time to
DateTime subtract(Duration)
,Duration
can be days, hours, minutes, or seconds.
How to add year months days, hours minutes or seconds milliseconds, and microseconds to date in Dart
- First Create a
Date
object for the Current Date and time - Date class contains
add
the method that accepts the Duration object
DateTime add(Duration duration)
Duration can be passed with days, hours, minutes, seconds, mill, and microseconds.
Here is a program to add duration to the date
void main() {
DateTime now = DateTime.now(); // March 2022
var date = new DateTime(now.year, now.month + 1, 0);
print(date); //2022-04-30 00:00:00.000
//add one Year
date = date.add(Duration(days: 365));
print(date); //2023-04-30 00:00:00.000
//add one Month
date = date.add(Duration(days: 30));
print(date); // 2023-05-30 00:00:00.000
//add one day
date = date.add(Duration(days: 1));
print(date); // 2023-05-31 00:00:00.000
//add one hour
date = date.add(Duration(hours: 1));
print(date); // 2023-05-31 01:00:00.000
//add 30 minutes
date = date.add(Duration(minutes: 30));
print(date); //2023-05-31 01:30:00.000
//add 30 seconds
date = date.add(Duration(seconds: 30));
print(date); //2023-05-31 01:30:30.000
//add 40 milliseconds
date = date.add(Duration(milliseconds: 40));
print(date); //2023-05-31 01:30:30.040
//add 1000 microseconds
date = date.add(Duration(microseconds: 1000));
print(date); //2023-05-31 01:30:30.041
}
Output:
2022-04-30 00:00:00.000
2023-04-30 00:00:00.000
2023-05-30 00:00:00.000
2023-05-31 00:00:00.000
2023-05-31 01:00:00.000
2023-05-31 01:30:00.000
2023-05-31 01:30:30.000
2023-05-31 01:30:30.040
2023-05-31 01:30:30.041
How to Subtract years months days, hours minutes or seconds milliseconds, and microseconds to date in Dart
- First Create a Date object for the Current Date and time
- Date class contains subtract method that accepts Duration object
DateTime subtract(Duration duration)
Duration can be passed with days, hours, minutes, seconds, mill, and microseconds. Here is a program to subtract duration to date
void main() {
DateTime now = DateTime.now();
var date = new DateTime(now.year, now.month + 1, 0);
print(date); //2022-04-30 00:00:00.000
//subtract one Year
date = date.subtract(Duration(days: 365));
print(date); //2021-04-30 00:00:00.000
//subtract one Month
date = date.subtract(Duration(days: 30));
print(date); // 2021-03-31 00:00:00.000
//subtract one day
date = date.subtract(Duration(days: 1));
print(date); // 2021-03-30 00:00:00.000
//subtract one hour
date = date.subtract(Duration(hours: 1));
print(date); // 2021-03-29 23:00:00.000
//add 30 minutes
date = date.subtract(Duration(minutes: 30));
print(date); //2021-03-29 22:30:00.000
//subtract 30 seconds
date = date.subtract(Duration(seconds: 30));
print(date); //2021-03-29 22:29:30.000
//subtract 40 milliseconds
date = date.subtract(Duration(milliseconds: 40));
print(date); //2021-03-29 22:29:29.960
//subtract 1000 microseconds
date = date.subtract(Duration(microseconds: 1000));
print(date); //2021-03-29 22:29:29.959
}
Output:
2022-04-30 00:00:00.000
2021-04-30 00:00:00.000
2021-03-31 00:00:00.000
2021-03-30 00:00:00.000
2021-03-29 23:00:00.000
2021-03-29 22:30:00.000
2021-03-29 22:29:30.000
2021-03-29 22:29:29.960
2021-03-29 22:29:29.959