Time.ToMillis(Boolean) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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 屬性授權中所述的詞彙使用。