Spec-Zone.ru › Dart 2

dart:core

метод copyWith

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

Создает новый объект DateTime на основе этого, обновляя отдельные свойства.

Метод copyWith создает новый объект DateTime со значениями свойств DateTime.year, DateTime.hour и т. д., заданными аргументами с соответствующими именами, либо использует существующее значение свойства, если аргумент или null не предоставлен.

Пример:

final now = DateTime.now();
final sameTimeOnMoonLandingDay =
    now.copyWith(year: 1969, month: 07, day: 20);

Как и в конструкторах DateTime и DateTime.utc, которые используются этой операцией для создания нового значения, значения свойств могут выходить за допустимый диапазон (например, month вне диапазона от 1 до 12), что может влиять на свойства более высокого порядка (например, месяц со значением 13 приведет к январю следующего года).

Обратите также внимание, что если результатом является локальный объект DateTime, сезонные корректировки часового пояса (переход на летнее время) могут привести к тому, что некоторые сочетания дат, часов и минут не будут существовать или будут встречаться более одного раза. В первом случае вместо них используется соответствующее время в одном из двух соседних часовых поясов. Во втором выбирается один из двух вариантов.

Реализация

DateTime copyWith({
  int? year,
  int? month,
  int? day,
  int? hour,
  int? minute,
  int? second,
  int? millisecond,
  int? microsecond,
  bool? isUtc,
}) {
  return ((isUtc ?? this.isUtc) ? DateTime.utc : DateTime.new)(
    year ?? this.year,
    month ?? this.month,
    day ?? this.day,
    hour ?? this.hour,
    minute ?? this.minute,
    second ?? this.second,
    millisecond ?? this.millisecond,
    microsecond ?? this.microsecond,
  );
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/DateTimeCopyWith/copyWith.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API