語言

Time.ToMillis(Boolean) 方法

定義

警告

deprecated

將此時間轉換為毫秒。

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

參數

ignoreDst
Boolean

傳回

屬性

備註

將此時間轉換為毫秒。 適合與標準 Java 函式庫互動。 時間以UTC毫秒計,距離該紀元起算。 這會隱含正規化來計算毫秒,但 em<不會><>改變這個 Time 物件中的任何欄位嗎? 如果你想在這個 Time 物件中正規化場並取得毫秒數,請使用 #normalize(boolean)。

若「ignoreDst」為假,則此方法使用當前「isDst」欄位的設定,若「isDst」欄位錯誤,則會調整回傳時間。 請參考下方範例程式碼作為範例。

如果「ignoreDst」為真,則此方法會忽略該 Time 物件中「isDst」欄位的當前設定,改為從該 Time 物件的欄位中(盡力)找出正確的「isDst」。 唯一無法確定「isDst」欄位正確值的情況,是時間本身不明確,因為它落在從 Daylight-Saving 時間切換到標準時間時重複的整點。

這裡有一個例子,假設 toMillis(true) 夏令時間在2007年11月4日星期日凌晨2點改變,調整時間。

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

為避免此問題,建議在加減天數後使用 toMillis(true) ,或明確設定「monthDay」欄位。 另一方面,如果你要加減小時或分鐘,則應該使用 toMillis(false)。

如果你想回讀與解析日期串時toMillis(false)#set(long)相同的毫秒,也應該使用#set(Time)。

當日期/時間欄位設定為與可用時區資訊衝突的當地時間時,此方法可回傳 -1 。 例如,當夏令時間轉換導致跳過一小時時,若 isDst = -1,該小時內的時間會返回-1。

的 android.text.format.Time.toMillis(boolean)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於