Time.ToMillis(Boolean) メソッド

定義

この時間をミリ秒に変換します。

[Android.Runtime.Register("toMillis", "(Z)J", "GetToMillis_ZHandler")]
public virtual long ToMillis(bool ignoreDst);
[<Android.Runtime.Register("toMillis", "(Z)J", "GetToMillis_ZHandler")>]
abstract member ToMillis : bool -> int64
override this.ToMillis : bool -> int64

パラメーター

ignoreDst
Boolean

返品

属性

注釈

この時間をミリ秒に変換します。 標準の Java ライブラリとの対話に適しています。 時間はエポック以降の UTC ミリ秒です。 これにより、ミリ秒を計算するための暗黙的な正規化が行われますが、この Time オブジェクトのフィールド<変更></em>。 この Time オブジェクトのフィールドを正規化し、ミリ秒も取得する場合は、 #normalize(boolean)を使用します。

"ignoreDst" が false の場合、このメソッドは "isDst" フィールドの現在の設定を使用し、"isDst" フィールドが指定された時刻に間違っている場合に返される時間を調整します。 この例については、以下のサンプル コードを参照してください。

"ignoreDst" が true の場合、このメソッドは、この Time オブジェクトの "isDst" フィールドの現在の設定を無視し、代わりにこの Time オブジェクトのフィールドから正しい値 "isDst" (可能な限り) を把握します。 このメソッドが "isDst" フィールドの正しい値を把握できない唯一のケースは、時刻が本質的にあいまいな場合です。これは、Daylight-Saving Time から Standard Time に切り替えるときに繰り返される時間に当たるためです。

2007 年 11 月 4 日日曜日の午前 2 時に DST が変更されると仮定して、 toMillis(true) が時間を調整する例を次に示します。

Time time = new Time();
            time.set(4, 10, 2007);  // set the date to Nov 4, 2007, 12am
            time.normalize(false);       // this sets isDst = 1
            time.monthDay += 1;     // changes the date to Nov 5, 2007, 12am
            millis = time.toMillis(false);   // millis is Nov 4, 2007, 11pm
            millis = time.toMillis(true);    // millis is Nov 5, 2007, 12am

この問題を回避するには、日を加算または減算した後、または "monthDay" フィールドを明示的に設定した後に、 toMillis(true) を使用します。 一方、時間または分を加算または減算する場合は、 toMillis(false)を使用する必要があります。

#set(long)または#set(Time)で設定したのと同じミリ秒を読み取る場合や、日付文字列を解析した後にtoMillis(false)を使用する必要もあります。

このメソッドは、日付/時刻フィールドが、使用可能なタイムゾーン情報と競合する現地時刻に設定されている場合に、 -1 を返すことができます。 たとえば、夏時間切り替えが原因で 1 時間がスキップされた場合、isDst = -1の場合、その時間内の時刻は-1返されます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象