copyWith function

DateTime copyWith(
  1. DateTime origin, {
  2. int? year,
  3. int? month,
  4. int? day,
  5. int? hour,
  6. int? minute,
  7. int? second,
  8. int? millisecond,
  9. int? microsecond,
})

Return a new instance of DateTime with new values

Implementation

DateTime copyWith(
  DateTime origin, {
  int? year,
  int? month,
  int? day,
  int? hour,
  int? minute,
  int? second,
  int? millisecond,
  int? microsecond,
}) {
  return DateTime(
      year ?? origin.year,
      (month ?? origin.month) + (day == 0 ? 1 : 0),
      day ?? origin.day,
      hour ?? origin.hour,
      minute ?? origin.minute,
      second ?? origin.second,
      millisecond ?? origin.millisecond,
      microsecond ?? origin.microsecond);
}