startOf method
Returns the start of the specified unit of time.
Implementation
DateTime startOf(TimeUnit unit) {
DateTime newDateTime;
switch (unit) {
case TimeUnit.microsecond:
newDateTime = copyWith();
case TimeUnit.millisecond:
newDateTime = copyWith(
microsecond: 0,
);
case TimeUnit.second:
newDateTime = copyWith(
millisecond: 0,
microsecond: 0,
);
case TimeUnit.minute:
newDateTime = copyWith(
second: 0,
millisecond: 0,
microsecond: 0,
);
case TimeUnit.hour:
newDateTime = copyWith(
minute: 0,
second: 0,
millisecond: 0,
microsecond: 0,
);
case TimeUnit.day:
newDateTime = copyWith(
hour: 0,
minute: 0,
second: 0,
millisecond: 0,
microsecond: 0,
);
case TimeUnit.week:
final newDate = subtract(Duration(days: dayOfWeek - 1));
newDateTime = copyWith(
year: newDate.year,
month: newDate.month,
day: newDate.day,
hour: 0,
minute: 0,
second: 0,
millisecond: 0,
microsecond: 0,
);
case TimeUnit.month:
newDateTime = copyWith(
day: 1,
hour: 0,
minute: 0,
second: 0,
millisecond: 0,
microsecond: 0,
);
case TimeUnit.year:
newDateTime = copyWith(
month: 1,
day: 1,
hour: 0,
minute: 0,
second: 0,
millisecond: 0,
microsecond: 0,
);
}
return newDateTime;
}