endOf method
Implementation
Jiffy endOf(Units units) {
switch (units) {
case Units.MILLISECOND:
_dateTime = DateTime(
_dateTime.year,
_dateTime.month,
_dateTime.day,
_dateTime.hour,
_dateTime.minute,
_dateTime.second,
_dateTime.millisecond);
break;
case Units.SECOND:
_dateTime = DateTime(_dateTime.year, _dateTime.month, _dateTime.day,
_dateTime.hour, _dateTime.minute, _dateTime.second, 999);
break;
case Units.MINUTE:
_dateTime = DateTime(_dateTime.year, _dateTime.month, _dateTime.day,
_dateTime.hour, _dateTime.minute, 59, 999);
break;
case Units.HOUR:
_dateTime = DateTime(_dateTime.year, _dateTime.month, _dateTime.day,
_dateTime.hour, 59, 59, 999);
break;
case Units.DAY:
_dateTime = DateTime(
_dateTime.year, _dateTime.month, _dateTime.day, 23, 59, 59, 999);
break;
case Units.WEEK:
var newDate = _dateTime.add(Duration(days: DateTime.daysPerWeek - day));
_dateTime =
DateTime(newDate.year, newDate.month, newDate.day, 23, 59, 59, 999);
break;
case Units.MONTH:
var date = _daysInMonthArray[_dateTime.month];
if (_isLeapYear(_dateTime.year) && _dateTime.month == 2) {
date = 29;
}
_dateTime =
DateTime(_dateTime.year, _dateTime.month, date, 23, 59, 59, 999);
break;
case Units.YEAR:
_dateTime = DateTime(_dateTime.year, 12, 31, 23, 59, 59, 999);
break;
}
return clone();
}