cloneWith function

DateTime cloneWith(
  1. DateTime dateTime, {
  2. Location? location,
  3. int? year,
  4. int? month,
  5. int? day,
  6. int? hour,
  7. int? minute,
  8. int? second,
})

Implementation

DateTime cloneWith(DateTime dateTime,
    {Location? location,
    int? year,
    int? month,
    int? day,
    int? hour,
    int? minute,
    int? second}) {
  final effectiveLocation =
      location ?? (dateTime is TZDateTime ? dateTime.location : null);
  if (effectiveLocation != null) {
    return TZDateTime(
        effectiveLocation,
        year ?? dateTime.year,
        month ?? dateTime.month,
        day ?? dateTime.day,
        hour ?? dateTime.hour,
        minute ?? dateTime.minute,
        second ?? dateTime.second);
  } else if (dateTime.isUtc) {
    return DateTime.utc(
        year ?? dateTime.year,
        month ?? dateTime.month,
        day ?? dateTime.day,
        hour ?? dateTime.hour,
        minute ?? dateTime.minute,
        second ?? dateTime.second);
  }
  return DateTime(
      year ?? dateTime.year,
      month ?? dateTime.month,
      day ?? dateTime.day,
      hour ?? dateTime.hour,
      minute ?? dateTime.minute,
      second ?? dateTime.second);
}