AbstractChronology.ResolveDate 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.
Risolve i valori analizzati ChronoField in una data durante l'analisi.
[Android.Runtime.Register("resolveDate", "(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;", "GetResolveDate_Ljava_util_Map_Ljava_time_format_ResolverStyle_Handler", ApiSince=26)]
public virtual Java.Time.Chrono.IChronoLocalDate? ResolveDate(System.Collections.Generic.IDictionary<Java.Time.Temporal.ITemporalField,Java.Lang.Long>? fieldValues, Java.Time.Format.ResolverStyle? resolverStyle);
[<Android.Runtime.Register("resolveDate", "(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;", "GetResolveDate_Ljava_util_Map_Ljava_time_format_ResolverStyle_Handler", ApiSince=26)>]
abstract member ResolveDate : System.Collections.Generic.IDictionary<Java.Time.Temporal.ITemporalField, Java.Lang.Long> * Java.Time.Format.ResolverStyle -> Java.Time.Chrono.IChronoLocalDate
override this.ResolveDate : System.Collections.Generic.IDictionary<Java.Time.Temporal.ITemporalField, Java.Lang.Long> * Java.Time.Format.ResolverStyle -> Java.Time.Chrono.IChronoLocalDate
Parametri
- fieldValues
- IDictionary<ITemporalField,Long>
mappa dei campi ai valori, che possono essere aggiornati, non Null
- resolverStyle
- ResolverStyle
tipo richiesto di resolve, non Null
Valori restituiti
data risolta, null se informazioni insufficienti per creare una data
Implementazioni
- Attributi
Commenti
Risolve i valori analizzati ChronoField in una data durante l'analisi.
La maggior parte delle TemporalField implementazioni viene risolta usando il metodo resolve nel campo . Al contrario, la ChronoField classe definisce i campi che hanno solo un significato relativo alla cronologia. Di conseguenza, ChronoField i campi di data vengono risolti qui nel contesto di una cronologia specifica.
ChronoField Le istanze vengono risolte da questo metodo, che può essere sottoposto a override nelle sottoclassi.
<ul><li>EPOCH_DAY : se presente, questa viene convertita in una data e tutti gli altri campi di data vengono quindi verificati in base alla data.
<li>PROLEPTIC_MONTH - Se presente, allora viene suddiviso in YEAR e MONTH_OF_YEAR. Se la modalità è strict o smart, il campo viene convalidato.
<li>YEAR_OF_ERA e ERA - Se entrambi sono presenti, vengono combinati per formare un oggetto YEAR. In modalità leniente, l'intervallo YEAR_OF_ERA non viene convalidato, in modalità smart e strict. Viene convalidato per l'intervallo ERA in tutte e tre le modalità. Se è presente solo YEAR_OF_ERA e la modalità è intelligente o leniente, si presuppone l'ultima era disponibile. In modalità strict, non viene presupposta alcuna era e l'oggetto YEAR_OF_ERA viene lasciato invariato. Se è presente solo ERA , viene lasciato invariato.
<li>YEAR, MONTH_OF_YEAR e DAY_OF_MONTH - Se tutti e tre sono presenti, vengono combinati per formare una data. In tutte e tre le modalità, viene convalidato .YEAR Se la modalità è smart o strict, il mese e il giorno vengono convalidati. Se la modalità è leniente, la data viene combinata in modo equivalente alla creazione di una data nel primo giorno del primo mese dell'anno richiesto, quindi aggiungendo la differenza in mesi, quindi la differenza in giorni. Se la modalità è intelligente e il giorno del mese è maggiore del massimo per il mese dell'anno, il giorno del mese viene regolato in base all'ultimo giorno del mese. Se la modalità è rigida, i tre campi devono formare una data valida.
<li>YEAR e DAY_OF_YEAR - Se entrambi sono presenti, vengono combinati per formare una data. In tutte e tre le modalità, viene convalidato .YEAR Se la modalità è leniente, la data viene combinata in modo equivalente alla creazione di una data nel primo giorno dell'anno richiesto, aggiungendo la differenza in giorni. Se la modalità è smart o strict, i due campi devono formare una data valida.
<li>YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH e ALIGNED_DAY_OF_WEEK_IN_MONTH - Se tutti e quattro sono presenti, vengono combinati per formare una data. In tutte e tre le modalità, viene convalidato .YEAR Se la modalità è leniente, la data viene combinata in modo equivalente alla creazione di una data nel primo giorno del primo mese dell'anno richiesto, quindi aggiungendo la differenza in mesi, quindi la differenza in settimane, poi in giorni. Se la modalità è smart o strict, tutti e quattro i campi vengono convalidati negli intervalli esterni. La data viene quindi combinata in modo equivalente alla creazione di una data nel primo giorno dell'anno e del mese richiesti, quindi aggiungendo l'importo in settimane e giorni per raggiungere i relativi valori. Se la modalità è rigida, la data viene convalidata anche per verificare che la rettifica del giorno e della settimana non abbia modificato il mese.
<li>YEAR, MONTH_OF_YEAR, ALIGNED_WEEK_OF_MONTH e DAY_OF_WEEK - Se tutti e quattro sono presenti, vengono combinati per formare una data. L'approccio è uguale a quello descritto in precedenza per anni, mesi e settimane in ALIGNED_DAY_OF_WEEK_IN_MONTH. Il giorno della settimana viene regolato come giorno successivo o uguale giorno della settimana una volta che gli anni, i mesi e le settimane sono stati gestiti.
<li>YEAR, ALIGNED_WEEK_OF_YEAR e ALIGNED_DAY_OF_WEEK_IN_YEAR - Se tutti e tre sono presenti, vengono combinati per formare una data. In tutte e tre le modalità, viene convalidato .YEAR Se la modalità è leniente, la data viene combinata in modo equivalente alla creazione di una data nel primo giorno dell'anno richiesto, quindi aggiungendo la differenza in settimane, in giorni. Se la modalità è smart o strict, tutti e tre i campi vengono convalidati negli intervalli esterni. La data viene quindi combinata in modo equivalente alla creazione di una data il primo giorno dell'anno richiesto, quindi l'aggiunta dell'importo in settimane e giorni per raggiungere i valori. Se la modalità è rigida, la data viene convalidata anche per verificare che la rettifica del giorno e della settimana non abbia modificato l'anno.
<li>YEAR, ALIGNED_WEEK_OF_YEAR e DAY_OF_WEEK - Se tutti e tre sono presenti, vengono combinati per formare una data. L'approccio è identico a quello descritto in precedenza per anni e settimane in ALIGNED_DAY_OF_WEEK_IN_YEAR. Il giorno della settimana viene regolato in base al giorno successivo o alla stessa giorno della settimana una volta che gli anni e le settimane sono stati gestiti.
</ul>
L'implementazione predefinita è adatta per la maggior parte dei sistemi di calendario. Se java.time.temporal.ChronoField#YEAR_OF_ERA viene trovato senza un java.time.temporal.ChronoField#ERA oggetto , viene usata l'ultima era in #eras() . L'implementazione presuppone una settimana di 7 giorni, che il primo giorno del mese abbia il valore 1, il primo giorno dell'anno ha il valore 1 e che il primo del mese e dell'anno esista sempre.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.