Instant クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
タイム ライン上の瞬間的なポイント。
[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
- 継承
- 属性
- 実装
注釈
タイム ライン上の瞬間的なポイント。
このクラスは、タイム ライン上の 1 つの瞬間的なポイントをモデル化します。 これは、アプリケーションでイベント タイムスタンプを記録するために使用できます。
インスタントの範囲には、 より大きい数値のストレージが long
必要です。 これを実現するために、 クラスはエポック秒を表す とint
ナノ秒を表す を格納long
します。これは常に 0 から 999,999,999 の間になります。 エポック秒は、標準の Java エポックから測定されます。エポックの後のインスタントは正の 1970-01-01T00:00:00Z
値を持ち、それ以前のインスタントは負の値を持ちます。 エポック秒部分とナノ秒部分の両方で、より大きな値は常に小さい値よりも後の時間行にあります。
<h2>時間スケール</h2>
太陽の日の長さは、人間が時間を測定する標準的な方法です。 これは従来、60 秒の 60 分の 24 時間に分割され、86400 秒になります。
最新のタイムキーピングは、Caesium原子の遷移に対してSI秒を正確に定義する原子時計に基づいています。 SI 秒の長さは、1 日の 86400 分の 1 に非常に近い値と定義されていました。
残念ながら、地球が一日の長さを回転させるにつれて、変化します。 さらに、時間が経つにつれて、地球が遅くなるにつれて、1日の平均長さが長くなっています。 その結果、2012 年の太陽日の長さは 86400 SI 秒よりもわずかに長くなります。 特定の日の実際の長さと地球が遅くなる量は予測できず、測定によってのみ決定できます。 UT1 のタイムスケールは正確な 1 日の長さをキャプチャしますが、その日が完了してからしばらくしてからしか使用できません。
UTC 時間スケールは、UT1 から 1 秒の追加分数をすべて数秒 ( うるう秒と呼ばれる) にバンドルする標準的なアプローチです。 地球の回転変化に応じて、うるう秒を追加または削除できます。 そのため、UTC では、日を太陽に合わせるために必要に応じて、1 日に 86399 SI 秒または 86401 SI 秒を指定できます。
最新の UTC タイムスケールは 1972 年に導入され、うるう秒全体の概念が導入されました。 1958 年から 1972 年の間、UTC の定義は複雑で、小秒未満の閏と、概念的な秒の長さを変更しました。 2012 年の時点で、UTC の定義を再度変更する議論が進行中であり、うるう秒を削除したり、他の変更を導入したりする可能性があります。
上記の正確なタイムキーピングの複雑さを考えると、この Java API は独自のタイムスケールである Java Time-Scale を定義します。
Java Time-Scale は、各カレンダーの日を正確に 86400 のサブ区分 (秒と呼ばれます) に分割します。 これらの秒は SI 秒とは異なる場合があります。 これは、事実上の国際的な市民的時間スケールと密接に一致し、その定義は随時変化します。
Java Time-Scale は、タイム ラインのセグメントごとに若干異なる定義を持ち、それぞれが市民時間の基礎として使用されるコンセンサス国際時間スケールに基づいています。 国際的に合意された時間スケールが変更または置換されるたびに、Java Time-Scale の新しいセグメントを定義する必要があります。 各セグメントは、これらの要件を満たす必要があります:<><java Time-Scale ul li>は、基になる国際市民時間スケールと密接に一致する必要があります。</li><li>Java Time-Scale は、毎日正午の国際市民時間スケールと完全に一致するものとします。</li><>li Java Time-Scale は、国際市民時間スケールと正確に定義された関係を持つ必要があります。</li></ul> 現在、2013 年現在、Java のタイムスケールには 2 つのセグメントがあります。
1972-11-03 (以下で説明する正確な境界) からそれ以上の通知までのセグメントの場合、コンセンサスの国際時間スケールは UTC (うるう秒) です。 このセグメントでは、Java Time-Scale は UTC-SLS と同じです。 これは、うるう秒がない日の UTC と同じです。 うるう秒がある日は、うるう秒が 1 日の最後の 1000 秒に均等に分散され、1 日あたり正確に 86400 秒の外観が維持されます。
1972-11-03より前のセグメントでは、任意に遠くに戻って拡張し、コンセンサス国際時間スケールはUT1と定義され、プロプチックに適用され、これは初子午線(グリニッジ)の(平均)太陽時間に相当します。 このセグメントでは、Java Time-Scale はコンセンサス国際時間スケールと同じです。 2 つのセグメント間の正確な境界は、UT1 = UTC が 1972-11-03T00:00 から 1972-11-04T12:00 の間の瞬間です。
JSR-310 API を使用した Java タイムスケールの実装は、1 秒未満の正確なクロックや、単調またはスムーズに進行するクロックを提供するために必要ありません。 そのため、実際に UTC-SLS スルーを実行したり、うるう秒を認識したりする場合は、実装は必要ありません。 ただし、JSR-310 では、現在のインスタントを表すクロックを定義するときに使用するアプローチを実装で文書化する必要があります。 使用可能なクロックの詳細については、以下を参照してください Clock
。
Java タイムスケールは、すべての日時クラスに使用されます。 これには、Instant
、LocalDate
、LocalTime
、OffsetDateTime
、ZonedDateTime
、および Duration
が含まれます。
1.8 で追加されました。
の Java ドキュメント java.time.Instant
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Class |
この |
Epoch |
タイム ライン上の瞬間的なポイント。 |
EpochSecond |
1970-01-01T00:00:00Z の Java エポックからの秒数を取得します。 |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
JniIdentityHashCode |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
JniPeerMembers |
タイム ライン上の瞬間的なポイント。 |
Max |
タイム ライン上の瞬間的なポイント。 |
Min |
タイム ライン上の瞬間的なポイント。 |
Nano |
2 番目の開始から、後でタイム ラインに沿ってナノ秒数を取得します。 |
PeerReference |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 (継承元 Object) |
メソッド
AdjustInto(ITemporal) |
タイム ライン上の瞬間的なポイント。 |
AtOffset(ZoneOffset) |
タイム ライン上の瞬間的なポイント。 |
AtZone(ZoneId) |
タイム ライン上の瞬間的なポイント。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
CompareTo(Instant) |
タイム ライン上の瞬間的なポイント。 |
Dispose() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
Dispose(Boolean) |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
From(ITemporalAccessor) |
タイム ライン上の瞬間的なポイント。 |
Get(ITemporalField) |
タイム ライン上の瞬間的なポイント。 |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetLong(ITemporalField) |
タイム ライン上の瞬間的なポイント。 |
IsAfter(Instant) |
タイム ライン上の瞬間的なポイント。 |
IsBefore(Instant) |
タイム ライン上の瞬間的なポイント。 |
IsSupported(ITemporalField) |
タイム ライン上の瞬間的なポイント。 |
IsSupported(ITemporalUnit) |
タイム ライン上の瞬間的なポイント。 |
JavaFinalize() |
ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Minus(Int64, ITemporalUnit) |
タイム ライン上の瞬間的なポイント。 |
Minus(ITemporalAmount) |
タイム ライン上の瞬間的なポイント。 |
MinusMillis(Int64) |
タイム ライン上の瞬間的なポイント。 |
MinusNanos(Int64) |
タイム ライン上の瞬間的なポイント。 |
MinusSeconds(Int64) |
タイム ライン上の瞬間的なポイント。 |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。 (継承元 Object) |
Now() |
タイム ライン上の瞬間的なポイント。 |
Now(Clock) |
タイム ライン上の瞬間的なポイント。 |
OfEpochMilli(Int64) |
タイム ライン上の瞬間的なポイント。 |
OfEpochSecond(Int64) |
タイム ライン上の瞬間的なポイント。 |
OfEpochSecond(Int64, Int64) |
タイム ライン上の瞬間的なポイント。 |
Parse(ICharSequence) |
タイム ライン上の瞬間的なポイント。 |
Parse(String) |
タイム ライン上の瞬間的なポイント。 |
Plus(Int64, ITemporalUnit) |
タイム ライン上の瞬間的なポイント。 |
Plus(ITemporalAmount) |
タイム ライン上の瞬間的なポイント。 |
PlusMillis(Int64) |
タイム ライン上の瞬間的なポイント。 |
PlusNanos(Int64) |
タイム ライン上の瞬間的なポイント。 |
PlusSeconds(Int64) |
タイム ライン上の瞬間的なポイント。 |
Query(ITemporalQuery) |
タイム ライン上の瞬間的なポイント。 |
Range(ITemporalField) |
タイム ライン上の瞬間的なポイント。 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
ToEpochMilli() |
このインスタントを 1970-01-01T00:00:00Z のエポックからのミリ秒数に変換します。 |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
TruncatedTo(ITemporalUnit) |
タイム ライン上の瞬間的なポイント。 |
UnregisterFromRuntime() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
Until(ITemporal, ITemporalUnit) |
タイム ライン上の瞬間的なポイント。 |
Wait() |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
With(ITemporalAdjuster) |
タイム ライン上の瞬間的なポイント。 |
With(ITemporalField, Int64) |
タイム ライン上の瞬間的なポイント。 |
明示的なインターフェイスの実装
IComparable.CompareTo(Object) |
タイム ライン上の瞬間的なポイント。 |
IJavaPeerable.Disposed() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.Finalized() |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.JniManagedPeerState |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
タイム ライン上の瞬間的なポイント。 (継承元 Object) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
タイム ライン上の瞬間的なポイント。 |
GetJniTypeName(IJavaPeerable) |
タイム ライン上の瞬間的なポイント。 |