ZonedDateTime.With Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| With(ITemporalField, Int64) |
Restituisce una copia di questa data e ora con il campo specificato impostato su un nuovo valore. |
| With(ITemporalAdjuster) |
Restituisce una copia modificata di questa data e ora. |
With(ITemporalField, Int64)
Restituisce una copia di questa data e ora con il campo specificato impostato su un nuovo valore.
[Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;", "", ApiSince=26)]
public Java.Time.Temporal.ITemporal? With(Java.Time.Temporal.ITemporalField? field, long newValue);
[<Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;", "", ApiSince=26)>]
abstract member With : Java.Time.Temporal.ITemporalField * int64 -> Java.Time.Temporal.ITemporal
override this.With : Java.Time.Temporal.ITemporalField * int64 -> Java.Time.Temporal.ITemporal
Parametri
- field
- ITemporalField
il campo da impostare nel risultato, non null
- newValue
- Int64
nuovo valore del campo nel risultato
Valori restituiti
ZonedDateTime basato su questo oggetto con il set di campi specificato, non null
- Attributi
Commenti
Restituisce una copia di questa data e ora con il campo specificato impostato su un nuovo valore. Viene restituito un oggetto ZonedDateTime, in base a questo oggetto, con il valore per il campo specificato modificato. Può essere usato per modificare qualsiasi campo supportato, ad esempio l'anno, il mese o il giorno del mese. Se non è possibile impostare il valore, perché il campo non è supportato o per altri motivi, viene generata un'eccezione. In alcuni casi, la modifica del campo specificato può causare l'invalidità della data risultante, ad esempio la modifica del mese dal 31 gennaio a febbraio renderebbe il giorno del mese non valido. In casi come questo, il campo è responsabile della risoluzione della data. In genere sceglierà la data valida precedente, che sarà l'ultimo giorno valido di febbraio in questo esempio. Se il campo è un ChronoField, la regolazione viene implementata qui. Il campo INSTANT_SECONDS restituirà una data e ora con l'istante specificato. La zona e il nano-di-secondo sono invariati. Il risultato avrà un offset derivato dalla nuova zona istantanea e originale. Se il nuovo valore istantaneo non è compreso nell'intervallo valido, verrà generata un'eccezione DateTimeException. Il campo OFFSET_SECONDS verrà in genere ignorato. L'offset di un oggetto ZonedDateTime viene controllato principalmente dal fuso orario. Di conseguenza, la modifica dell'offset in genere non ha senso, perché esiste un solo offset valido per la data e il fuso orario locali. Se l'ora di data in zone si trova in una sovrapposizione di ora legale, l'offset viene usato per passare tra i due offset validi. In tutti gli altri casi, l'offset viene ignorato. Se il nuovo valore di offset non rientra nell'intervallo valido, verrà generata un'eccezione DateTimeException. Gli altri campi supportati si comportano in base al metodo corrispondente in LocalDateTime. La zona non fa parte del calcolo e sarà invariata. Quando si esegue la conversione in ZonedDateTime, se l'ora di data locale si trova in una sovrapposizione, l'offset verrà mantenuto, se possibile, altrimenti verrà utilizzato l'offset precedente. In caso di gap, l'ora di data locale verrà modificata in avanti in base alla lunghezza del gap. Tutte le altre istanze di ChronoField genereranno un'eccezione UnsupportedTemporalTypeException. Se il campo non è un ChronoField, il risultato di questo metodo viene ottenuto richiamando TemporalField.adjustInto(Temporal, long) passando questo come argomento. In questo caso, il campo determina se e come regolare l'istante. Questa istanza non è modificabile e non influenzata da questa chiamata al metodo.
Java informazioni di riferimento per java.time.ZonedDateTime.with.
Si applica a
With(ITemporalAdjuster)
Restituisce una copia modificata di questa data e ora.
[Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;", "", ApiSince=26)]
public Java.Time.ZonedDateTime? With(Java.Time.Temporal.ITemporalAdjuster? adjuster);
[<Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;", "", ApiSince=26)>]
member this.With : Java.Time.Temporal.ITemporalAdjuster -> Java.Time.ZonedDateTime
Parametri
- adjuster
- ITemporalAdjuster
regola per l'uso, non null
Valori restituiti
ZonedDateTime basato su questo oggetto con la regolazione effettuata, non null
- Attributi
Commenti
Restituisce una copia modificata di questa data e ora. Viene restituito un oggetto ZonedDateTime, in base a questo oggetto, con la data/ora modificata. La regolazione viene eseguita utilizzando l'oggetto strategia di regolazione specificato. Leggere la documentazione del regolatore per comprendere quali modifiche verranno apportate. Un semplice regolatore potrebbe semplicemente impostare uno dei campi, ad esempio il campo year. Un regolatore più complesso potrebbe impostare la data sull'ultimo giorno del mese. Una selezione di rettifiche comuni viene fornita in TemporalAdjusters. Questi includono la ricerca dell'ultimo giorno del mese e "mercoledì successivo". Le classi di data e ora chiave implementano anche l'interfaccia TemporalAdjuster, ad esempio Month e MonthDay. Il regolatore è responsabile della gestione di casi speciali, ad esempio la lunghezza variabile del mese e gli anni bisestili. Ad esempio, questo codice restituisce una data l'ultimo giorno di luglio: le classi LocalDate e LocalTime implementano TemporalAdjuster, pertanto questo metodo può essere usato per modificare la data, l'ora o l'offset: ZoneOffset implementa anche TemporalAdjuster, tuttavia l'uso come argomento in genere non ha alcun effetto. L'offset di un oggetto ZonedDateTime viene controllato principalmente dal fuso orario. Di conseguenza, la modifica dell'offset in genere non ha senso, perché esiste un solo offset valido per la data e il fuso orario locali. Se l'ora di data in zone si trova in una sovrapposizione di ora legale, l'offset viene usato per passare tra i due offset validi. In tutti gli altri casi, l'offset viene ignorato. Il risultato di questo metodo viene ottenuto richiamando il metodo TemporalAdjuster.adjustInto(Temporal) sul regolatore specificato passando questo come argomento. Questa istanza non è modificabile e non influenzata da questa chiamata al metodo.
Java informazioni di riferimento per java.time.ZonedDateTime.with.