我爲我的Android Wear手錶創建了自定義TimePicker
首選項。用戶選擇一個時間並以毫秒爲單位返回當前時間。這個代碼可以在我的GitHub repo上找到。確定一個時間是否在兩次之間
我不認爲我在那個班上做什麼有什麼問題 - 但也許是我。不管怎麼說,我然後去讀取的值,像這樣:
final long nightModeStartTimeMillis = prefs.getLong("settings_night_mode_start_time",
Long.valueOf(getString(R.string.settings_night_mode_default_start_time)));
final long nightModeEndTimeMillis = prefs.getLong("settings_night_mode_end_time",
Long.valueOf(getString(R.string.settings_night_mode_default_end_time)));
我的問題是,我想用這些時間來確定當前的時間是他們之間。但是,我無法弄清楚如何處理日期。我的defaultValue
開始時間TimePreference
是1483318830000
(2017年1月1日20:00:30)。 I've been trying the code found from this answer,但是當涉及到比較時,我認爲我從來沒有將當前時間置於默認值之間,因爲毫秒的日期永遠不會改變 - 只有小時和分鐘。
This is my current attempt--which doesn't work
有一些解決這個方式,是簡單的比我做的呢?有點困惑與所有這一切。
指https://stackoverflow.com/questions/9816459/removing-time-from-a-date-object找到如何剝去日期部分從時間戳。一種方法:使用日期格式「HH:mm:ss.SSS」 –
我不清楚。 'getString(R.string.settings_night_mode_default_end_time)'和'nightModeEndTimeMillis'的價值是什麼?你能提供一些投入和預期產出的例子嗎? –
這是一個時間選擇器。用戶選擇一個時間,我得到他們選擇的毫秒數。他們從不改變當天的日期 - 只有小時和分鐘。 'R.string.settings_night_mode_default_end_time'只是我以毫秒爲單位起訴的默認開始時間,'1483318830000'。 – Nxt3