Instant Classe
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.
Punto istantaneo sulla linea temporale.
[Android.Runtime.Register("java/time/Instant", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class Instant : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.IComparable, Java.Time.Temporal.ITemporal, Java.Time.Temporal.ITemporalAdjuster
[<Android.Runtime.Register("java/time/Instant", ApiSince=26, DoNotGenerateAcw=true)>]
type Instant = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparable
interface ITemporal
interface ITemporalAccessor
interface ITemporalAdjuster
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Punto istantaneo sulla linea temporale.
Questa classe modella un singolo punto istantaneo sulla linea temporale. Può essere usato per registrare i timestamp degli eventi nell'applicazione.
L'intervallo di un istante richiede l'archiviazione di un numero maggiore di un oggetto long. A tale scopo, la classe archivia un long oggetto che rappresenta periodi-secondi e un oggetto int che rappresenta nanosecondo di secondo, che sarà sempre compreso tra 0 e 999.999.999. I secondi di periodo vengono misurati dal periodo di Java standard in 1970-01-01T00:00:00Z cui gli istantanei dopo l'epoca hanno valori positivi e i primi istantanei hanno valori negativi. Per entrambe le parti epoch-second e nanosecond, un valore maggiore è sempre successivo alla linea temporale rispetto a un valore più piccolo.
<h2>Scala cronologica</h2>
La lunghezza del giorno solare è il modo standard in cui gli esseri umani misurano il tempo. Questo è tradizionalmente suddiviso in 24 ore di 60 minuti di 60 secondi, formando un giorno di 86400 secondi.
Il timekeeping moderno si basa su orologi atomici che definiscono esattamente un secondo SI rispetto alle transizioni di un atomo caesium. La lunghezza di un secondo SI è definita per essere molto vicina alla frazione 86400 di un giorno.
Purtroppo, quando la Terra ruota la lunghezza del giorno varia. Inoltre, nel tempo la lunghezza media del giorno sta diventando più lunga man mano che la Terra rallenta. Di conseguenza, la lunghezza di un giorno solare nel 2012 è leggermente superiore a 86400 SECONDI. La lunghezza effettiva di un determinato giorno e la quantità in base alla quale la Terra sta rallentando non sono prevedibili e possono essere determinate solo dalla misurazione. La scala temporale UT1 acquisisce la lunghezza esatta del giorno, ma è disponibile solo un po'di tempo dopo il completamento del giorno.
La scalabilità temporale UTC è un approccio standard per aggregare tutte le frazioni aggiuntive di un secondo da UT1 a secondi interi, note come bisestile. Un secondo bisestile può essere aggiunto o rimosso a seconda dei cambiamenti rotazionali della Terra. Di conseguenza, utc consente a un giorno di avere 86399 SI secondi o 86401 SI secondi, se necessario per mantenere il giorno allineato al sole.
La moderna scala temporale UTC è stata introdotta nel 1972, introducendo il concetto di interi secondi interi. Tra il 1958 e il 1972, la definizione dell'ORA UTC era complessa, con piccoli salti secondari e modifiche alla lunghezza del secondo notzionale. A partire dal 2012, sono in corso discussioni per modificare di nuovo la definizione dell'ORA UTC, con il potenziale di rimuovere secondi salti o introdurre altre modifiche.
Data la complessità dell'accuratezza del tempo descritta in precedenza, questa API Java definisce la propria scala cronologica, la scalabilità temporale Java.
Il Java Time-Scale divide ogni giorno del calendario in esattamente 86400 suddivisioni, note come secondi. Questi secondi possono differire dal secondo si. Esso corrisponde strettamente alla scala internazionale del tempo civile internazionale, la definizione di cui cambia di volta in volta.
Il Java Time-Scale ha definizioni leggermente diverse per i diversi segmenti della linea temporale, ognuno basato sulla scala temporale internazionale di consenso utilizzata come base per il tempo civile. Ogni volta che la scala temporale concordata a livello internazionale viene modificata o sostituita, è necessario definire un nuovo segmento del Java Time-Scale. Ogni segmento deve soddisfare questi requisiti: <ul><li>il Java Time-Scale deve corrispondere strettamente alla scala internazionale del tempo< civile;/li><il>Java Time-Scale deve corrispondere esattamente alla scala internazionale del tempo civile a mezzogiorno ogni giorno;</li li><>il Java Time-Scale deve avere una relazione precisamente definita con la scala internazionale del tempo civile.</li></ul> Attualmente sono presenti due segmenti nel Java scala cronologica a partire dal 2013.
Per il segmento dal 1972-11-03 (limite esatto discusso di seguito) fino a un ulteriore preavviso, la scala temporale internazionale di consenso è UTC (con secondi bisestile). In questo segmento il Java Time-Scale è identico a UTC-SLS. Questo è identico all'ora UTC nei giorni in cui non è previsto un secondo salto. Nei giorni che hanno un secondo bisestile, il secondo salto viene distribuito allo stesso modo negli ultimi 1000 secondi del giorno, mantenendo l'aspetto di esattamente 86400 secondi al giorno.
Per il segmento precedente al 1972-11-03, estendendosi arbitrariamente, la scala temporale internazionale di consenso è definita come UT1, applicata prolepticamente, che equivale al tempo solare (medio) sul meridiano primo (Greenwich). In questo segmento, il Java Time-Scale è identico alla scala temporale internazionale di consenso. Il limite esatto tra i due segmenti è l'istante in cui UT1 = UTC tra 1972-11-03T00:00 e 1972-11-04T12:00.
Le implementazioni del Java scala cronologica che usano l'API JSR-310 non sono necessarie per fornire un orologio al secondo accurato o che progredisce in modo monotonico o uniforme. Non è quindi necessario che le implementazioni eseguano effettivamente il UTC-SLS slew o che siano consapevoli dei secondi intercalari. JSR-310, tuttavia, richiede che le implementazioni debbano documentare l'approccio usato per definire un orologio che rappresenta l'istante corrente. Per informazioni dettagliate sugli orologi disponibili, vedere Clock .
Il Java scala cronologica viene usato per tutte le classi di data e ora. Sono inclusi Instant, LocalDate, LocalTime, OffsetDateTimeZonedDateTime e Duration.
Aggiunta nella versione 1.8.
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.
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Epoch |
Punto istantaneo sulla linea temporale. |
| EpochSecond |
Ottiene il numero di secondi dal periodo di Java 1970-01-01T00:00:00Z. |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Punto istantaneo sulla linea temporale. |
| Max |
Punto istantaneo sulla linea temporale. |
| Min |
Punto istantaneo sulla linea temporale. |
| Nano |
Ottiene il numero di nanosecondi, successivamente lungo la linea temporale, dall'inizio del secondo. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
| Nome | Descrizione |
|---|---|
| AdjustInto(ITemporal) |
Punto istantaneo sulla linea temporale. |
| AtOffset(ZoneOffset) |
Punto istantaneo sulla linea temporale. |
| AtZone(ZoneId) |
Punto istantaneo sulla linea temporale. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| CompareTo(Instant) |
Punto istantaneo sulla linea temporale. |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| From(ITemporalAccessor) |
Punto istantaneo sulla linea temporale. |
| Get(ITemporalField) |
Punto istantaneo sulla linea temporale. |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| GetLong(ITemporalField) |
Punto istantaneo sulla linea temporale. |
| IsAfter(Instant) |
Punto istantaneo sulla linea temporale. |
| IsBefore(Instant) |
Punto istantaneo sulla linea temporale. |
| IsSupported(ITemporalField) |
Punto istantaneo sulla linea temporale. |
| IsSupported(ITemporalUnit) |
Punto istantaneo sulla linea temporale. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Minus(Int64, ITemporalUnit) |
Punto istantaneo sulla linea temporale. |
| Minus(ITemporalAmount) |
Punto istantaneo sulla linea temporale. |
| MinusMillis(Int64) |
Punto istantaneo sulla linea temporale. |
| MinusNanos(Int64) |
Punto istantaneo sulla linea temporale. |
| MinusSeconds(Int64) |
Punto istantaneo sulla linea temporale. |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Now() |
Punto istantaneo sulla linea temporale. |
| Now(Clock) |
Punto istantaneo sulla linea temporale. |
| OfEpochMilli(Int64) |
Punto istantaneo sulla linea temporale. |
| OfEpochSecond(Int64, Int64) |
Punto istantaneo sulla linea temporale. |
| OfEpochSecond(Int64) |
Punto istantaneo sulla linea temporale. |
| Parse(ICharSequence) |
Punto istantaneo sulla linea temporale. |
| Parse(String) |
Punto istantaneo sulla linea temporale. |
| Plus(Int64, ITemporalUnit) |
Punto istantaneo sulla linea temporale. |
| Plus(ITemporalAmount) |
Punto istantaneo sulla linea temporale. |
| PlusMillis(Int64) |
Punto istantaneo sulla linea temporale. |
| PlusNanos(Int64) |
Punto istantaneo sulla linea temporale. |
| PlusSeconds(Int64) |
Punto istantaneo sulla linea temporale. |
| Query(ITemporalQuery) |
Punto istantaneo sulla linea temporale. |
| Range(ITemporalField) |
Punto istantaneo sulla linea temporale. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToEpochMilli() |
Converte questo istante nel numero di millisecondi dal periodo 1970-01-01T00:00:00Z. |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| TruncatedTo(ITemporalUnit) |
Punto istantaneo sulla linea temporale. |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Until(ITemporal, ITemporalUnit) |
Punto istantaneo sulla linea temporale. |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| With(ITemporalAdjuster) |
Punto istantaneo sulla linea temporale. |
| With(ITemporalField, Int64) |
Punto istantaneo sulla linea temporale. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IComparable.CompareTo(Object) |
Punto istantaneo sulla linea temporale. |
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Punto istantaneo sulla linea temporale. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |