nc-photos/lib/date_time_extension.dart

41 lines
998 B
Dart
Raw Normal View History

2022-01-15 11:35:15 +01:00
extension DateTimeExtension on DateTime {
DateTime copyWith({
int? year,
int? month,
int? day,
int? hour,
int? minute,
int? second,
int? millisecond,
int? microsecond,
}) {
if (isUtc) {
return DateTime.utc(
year ?? this.year,
month ?? this.month,
day ?? this.day,
hour ?? this.hour,
minute ?? this.minute,
second ?? this.second,
millisecond ?? this.millisecond,
microsecond ?? this.microsecond,
);
} else {
return DateTime(
year ?? this.year,
month ?? this.month,
day ?? this.day,
hour ?? this.hour,
minute ?? this.minute,
second ?? this.second,
millisecond ?? this.millisecond,
microsecond ?? this.microsecond,
);
}
}
/// Return a new object representing the midnight of the same day
DateTime toMidnight() =>
copyWith(hour: 0, minute: 0, second: 0, millisecond: 0, microsecond: 0);
}