## Add/Subtract months/years to date in dart?

I saw that in dart there is a class Duration but it cant be used add/subtract years or month. How did you managed this issue, I need to subtract 6 months from an date. Is there something like momentjs for dart or something around? Thank you

Okay so you can do that in two steps, taken from @zoechi (a big contributor to Flutter):

Define the base time, let us say:

var date = new DateTime(2018, 1, 13);

Now, you want the new date:

var newDate = new DateTime(date.year, date.month - 1, date.day);

And you will get

2017-12-13

**[Proposal] Add DateTime.addYears, DateTime.addMonths ,** I saw that in dart there is a class Duration but it cant be used add/subtract years or month. How did you managed this issue, I need to subtract 6 Date Calculator: Add to or Subtract From a Date. Enter a start date and add or subtract any number of days, months, or years.

You can use the `subtract`

and `add`

methods

date1.subtract(Duration(days: 7, hours: 3, minutes: 43, seconds: 56)); date1.add(Duration(days: 1, hours: 23)));

Flutter Docs:

**In duration class I am unable to add months for the date · Issue ,** Problem It is really inconvenient to work with Dart's DateTime way to add months to a DateTime; There's no easy way to subtract years from a The EDATE function requires two arguments: the start date and the number of months that you want to add or subtract. To subtract months, enter a negative number as the second argument. For example, =EDATE ("9/15/19",-5) returns 4/15/19. For this example, you can enter your starting dates in column A.

Try out this package, Jiffy. Adds and subtracts date time with respect to how many days there are in a month and also leap years. It follows the simple syntax of momentjs

You can add and subtract using the following units

`years, months, weeks, days, hours, minutes, seconds and milliseconds`

To add 6 months

DateTime d = Jiffy().add(months: 6); // 2020-04-26 10:05:57.469367 // You can also add you own Datetime object DateTime d = Jiffy(DateTime(2018, 1, 13)).add(months: 6); // 2018-07-13 00:00:00.000

You can also do chaining using dart method cascading

var jiffy = Jiffy() ..add(months: 5, years: 1); DateTime d = jiffy.dateTime; // 2021-03-26 10:07:10.316874 // you can also format with ease String s = jiffy.format("yyyy, MMM"); // 2021, Mar // or default formats String s = jiffy.yMMMMEEEEdjm; // Friday, March 26, 2021 10:08 AM

**subtract method - DateTime class - dart:core library,** I want add 10months after current date but we have only provision upto dates can any one add months provision also _toDate = today.add(new eseidelGoogle added the dependency: dart label on Sep 18, 2017. @Hixie That requires a bit more code (including knowing when there are leap years). =DATE(YEAR(date)+ years, MONTH(date),DAY(date)) Assuming that you want to add or subtract 2 years to a date in A2, you can use the following formulas: = DATE (YEAR(A2)+ 2, MONTH(A2), DAY (A2))

You can use `subtract`

and `add`

methods

But you have to reassign the result to the variable, which means:

This wouldn't work

date1.add(Duration(days: 1, hours: 23)));

But this will:

date1 = date1.add(Duration(days: 1, hours: 23)));

For example:

void main() { var d = DateTime.utc(2020, 05, 27, 0, 0, 0); d.add(Duration(days: 1, hours: 23)); // the prev line has no effect on the value of d print(d); // prints: 2020-05-27 00:00:00.000Z //But d = d.add(Duration(days: 1, hours: 23)); print(d); // prints: 2020-05-28 23:00:00.000Z }

**add method - DateTime class - dart:core library,** API docs for the subtract method from the DateTime class, for the Dart programming language. second · timeZoneName · timeZoneOffset · weekday · year · runtimeType · Methods · add · compareTo Returns a new DateTime instance with duration subtracted from this. Be careful when working with dates in local time. Months, Years - Calculator. Add and subtract months and years, calculate year dates. Here you can find out, which month was or will be in a certain number of months and which year was or will be in a certain number of years. For years in the past, the year 0 didn't exist, so before the year 1, there came 1 BCE (Before Common Era).

**Working with Dates in Dart - Flutter Community,** Be careful when working with dates in local time. Implementation. external DateTime add(Duration duration);. If you want to add years to a date in excel, you can’t just simply do an addition to add years. If you add 1 year as a number to a date, it wil add 1 day. In excel, 1 is equal to 1 day (24 hours). If you add multiples of 365 to a given date then it will give an incorrect answer, since there can be a leap year in between.

**Top 7 Date methods you should know (Dart),** Dates are a common type of data mostly coming back from api Once we get the current date, we can also retrieve individual units of the date, ie month , year , day Notice that I used subtract method which removes the given duration In order to use this class, we need to add intl as a dependency in Date Calculator – Add or subtract days, months, years; Weekday Calculator – What Day is this Date? Birthday Calculator – Find when you are 1 billion seconds old; Week Number Calculator – Find the week number for any date; Related Links. Date/calendar related services – Overview; Calendar Generator – Create a calendar for any year.

**Gregorian class - shamsi_date library,** Learn how to work with dates in Dart This adds the provided duration and returns a new DateTime instance: 6. subtract(Duration duration). This one ignored years and gives the month between two dates as 3 because from “Jul” to “Oct” there are only three months. Now, look at the “ YD ” parameter. This one ignored Years and gives the days difference between 18 th July to 28 th Oct as 102 days.