Time-handling library with day.js API.
This project is a starting point for a Dart package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Run this command under your project
dart pub add daydart
# or
flutter pub add daydartThe DayDart object is immutable, and all calls will return a new DayDart object.
Passing in the supported format in DayDart.
Calling DayDart() with no arguments returns a new DayDart object containing the current date and time
DayDart now = DayDart()Parses the given string in ISO 8601 format and returns an instance of the DayDart object.
DayDart('2018-04-04')A DateTime object passed in.
DayDart(DateTime.now());Create DayDart with an integer value of milliseconds
DayDart(1623484401193);All DayDart objects are immutable. Dayart#clone can still create a clone of the current object if needed.
DayDart a = DayDart()
DayDart b = a.clone()Calling DayDart() on the DayDart object also clones it.
DayDart a = DayDart()
DayDart b = DayDart(a)Returns a Boolean indicating whether the DayDart object contains an expiration date.
DayDart().isValid()Gets or sets the year.
DayDart().year();
DayDart().year(2000);Gets or sets the month.
Accept numbers from 1 to 12. If it exceeds that range, it will continue until the end of the year.
DayDart().month();
DayDart().month(1);Gets or sets the quarter.
DayDart('2010-04-01').quarter() // 2
DayDart('2010-04-01').quarter(2)Gets or sets the date of the month.
Accept numbers from 1 to 31. If this range is exceeded, it will last until the day.
DayDart().day()
DayDart().day(1)Gets the total number of days of the month
DayDart().days()Total number of days from date to year
DayDart().dayOfYear()Gets the total number of weeks from the date to the beginning of the year
DayDart().weeks()For week
DayDart().week()Gets or sets the hour.
Accept the numbers from 0 to 59. If this range is exceeded, it will last until the day.
DayDart().hour()
DayDart().hour(12)Gets or sets the minutes.
Accept the numbers from 0 to 59. If this range is exceeded, it will last until hours
DayDart().minute()
DayDart().minute(12)Gets or sets the seconds.
Accept the numbers from 0 to 59. If this range is exceeded, it will last up to minutes.
DayDart().second()
DayDart().second(12)Gets or sets milliseconds.
Accepts numbers from 0 to 999. If this range is exceeded, it will last up to seconds.
DayDart().millisecond()
DayDart().millisecond(12)Once you have a DayDart object, you might want to manipulate it in some way.
DayDart supports method links like this:
DayDart('2019-01-25')..add(1, DayUnits.D)..subtract(1, DayUnits.y)..year(2009)..toString()List of all available units
| uni | desc |
|---|---|
| D | day (1-31) |
| M | month(1-12) |
| y | year |
| h | hour |
| m | minutes |
| s | seconds |
| ms | millisecond |
Returns a cloned DayDart object, adding the specified time.
DayDart().add(7, DayUnits.D)Returns the cloned 'DayDart' object, subtracting the specified time.
DayDart().subtract(7, DayUnits.D)List of all available units
| unit | desc |
|---|---|
| D | day |
| M | month |
| y | year |
| h | hour |
| m | minutes |
| s | seconds |
| ms | millisecond |
The list of days in a given month
DayDart().daysInMonth(DayDart('2011-01-01')) // default millisecondsThis indicates whether the DayDart object is before another supplied date-time.
DayDart().isBefore(DayDart('2011-01-01')) // default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a second argument.
DayDart().isBefore('2011-01-01', DayUnits.y)This indicates whether the DayDart object is the same as the date-time provided by another.
DayDart().isSame(DayDart('2011-01-01')) // default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a second argument.
DayDart().isSame('2011-01-01', DayUnits.y)This indicates whether the DayDart object is after another supplied date-time.
DayDart().isAfter(DayDart('2011-01-01')) // default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a second argument.。
DayDart().isAfter('2011-01-01', DayUnits.y)This indicates whether the DayDart object is the same or before another provided date-time.
DayDart().isSameOrBefore(DayDart('2011-01-01')) // default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a second argument.
DayDart().isSameOrBefore('2011-01-01', DayUnits.y)This indicates whether the DayDart object is the same or after another supplied date-time.
DayDart().isSameOrAfter(DayDart('2011-01-01')) // default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a second argument.
DayDart().isSameOrAfter('2011-01-01', DayUnits.y)This indicates whether the DayDart object is between the other two supplied date-times.
DayDart('2010-10-20').isBetween('2010-10-19', DayDart('2010-10-25'))// default millisecondsIf you want to limit granularity to units rather than milliseconds, pass it as a third parameter.
DayDart().isBetween('2010-10-19', '2010-10-25', DayUnits.y)This indicates whether the variable is a DayDart object.
DayDart.isDayDart(DayDart()) // true
DayDart.isDayDart(DateTime.now()) // falseYou can also use the is operator:
DayDart() is DayDart // trueThis indicates whether the year of the DayDart object is a leap year.
DayDart('2000-01-01').isLeapYear() // trueGets the formatted date based on the passed token string.
To escape characters, enclose them in square brackets (for example, 'MM').
DayDart().format()
DayDart('2019-01-25').format('dd/MM/yyyy') // '25/01/2019'A list of all available parse tags
| arg | desc |
|---|---|
| d | DAY |
| E | ABBR_WEEKDAY |
| EEEE | WEEKDAY |
| LLL | ABBR_STANDALONE_MONTH |
| LLLL | STANDALONE_MONTH |
| M | NUM_MONTH |
| Md | NUM_MONTH_DAY |
| MEd | NUM_MONTH_WEEKDAY_DAY |
| MMM | ABBR_MONTH |
| MMMd | ABBR_MONTH_DAY |
| MMMEd | ABBR_MONTH_WEEKDAY_DAY |
| MMMM | MONTH |
| MMMMd | MONTH_DAY |
| MMMMEEEEd | MONTH_WEEKDAY_DAY |
| QQQ | ABBR_QUARTER |
| QQQQ | QUARTER |
| y | YEAR |
| yM | YEAR_NUM_MONTH |
| yMd | YEAR_NUM_MONTH_DAY |
| yMEd | YEAR_NUM_MONTH_WEEKDAY_DAY |
| yMMM | YEAR_ABBR_MONTH |
| yMMMd | YEAR_ABBR_MONTH_DAY |
| yMMMEd | YEAR_ABBR_MONTH_WEEKDAY_DAY |
| yMMMM | YEAR_MONTH |
| yMMMMd | YEAR_MONTH_DAY |
| yMMMMEEEEd | YEAR_MONTH_WEEKDAY_DAY |
| yQQQ | YEAR_ABBR_QUARTER |
| yQQQQ | YEAR_QUARTER |
| H | HOUR24 |
| Hm | HOUR24_MINUTE |
| Hms | HOUR24_MINUTE_SECOND |
| j | HOUR |
| jm | HOUR_MINUTE |
| jms | HOUR_MINUTE_SECOND |
| m | MINUTE |
| ms | MINUTE_SECOND |
| s | SECOND |
To get a copy of the local date object parsed from the 'dayDart' object, use dayDart #toDate.
DayDart('2019-01-25').toDate()DayDart('2019-01-25').toList() // [ 2019, 0, 25, 0, 0, 0, 0 ]Returns Map with date property.
DayDart('2019-01-25').toMap()
/*
{
years: 2019,
months: 0,
date: 25,
hours: 0,
minutes: 0,
seconds: 0,
milliseconds: 0
}
*/Formatted as an ISO 8601 string.
DayDart('2019-01-25').toISOString() // 2019-01-25T00:00:00.000Returns a string representation of the date.
DayDart('2019-01-25').toString() // 2019-01-25 00:00:00.000This project will be updated continuously. Your valuable comments are welcome.