Поделиться через


DateTimeFormatter.WithZone(ZoneId) Метод

Определение

Возвращает копию этого модуля форматирования с новой зоной переопределения.

[Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithZone (Java.Time.ZoneId? zone);
[<Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithZone : Java.Time.ZoneId -> Java.Time.Format.DateTimeFormatter

Параметры

zone
ZoneId

новая зона переопределения, значение NULL, если переопределение не переопределяется

Возвращаемое значение

форматировщик на основе этого модуля форматирования с запрошенной зоной переопределения, а не null

Атрибуты

Комментарии

Возвращает копию этого модуля форматирования с новой зоной переопределения.

При этом возвращается форматировщик с аналогичным состоянием этого модуля форматирования, но с набором переопределения зоны. По умолчанию модуль форматирования не имеет зоны переопределения, возвращая значение NULL.

Если добавляется переопределение, будет затронут любой момент форматирования или синтаксического анализа.

При форматировании, если темпоральный объект содержит моментальный объект, он будет преобразован в зону даты и времени с помощью зоны переопределения. Определяется ли темпоральный момент путем запроса ChronoField#INSTANT_SECONDS INSTANT_SECONDS поля. Если входные данные имеют хронологию, она будет сохранена, если не переопределено. Если входные данные не имеют хронологии, например Instant, будет использоваться хронология ISO.

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

При синтаксическом анализе следует учитывать два разных случая. Если зона была проанализирована непосредственно из текста, возможно, так как DateTimeFormatterBuilder#appendZoneId() она использовалась, то эта зона переопределения не действует. Если ни один из зон не был проанализирован, эта зона переопределения будет включена в результат синтаксического анализа, где его можно использовать для создания моментов и даты и времени.

Этот экземпляр неизменяем и не влияет на этот вызов метода.

Документация по Java для java.time.format.DateTimeFormatter.withZone(java.time.ZoneId).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к