2012-07-11 48 views
2

在我的項目,我保存毫秒的sqllite DATABSE,默認情況下我節省如何從日期選取器獲取毫秒數?

System.currentTimeMillis() 

在數據庫中,但對於用戶從一個日期選擇器選擇一個日期的選項?但是當用戶從日期選擇器中選擇以前或以後的日期時,我可以保存什麼?我怎樣才能將這一天當作長時間(毫秒)的格式?

+1

[這可以幫助你很多(http://saigeethamn.blogspot.in/2010/05/date-and-time-picker-views-android.html) – Praveenkumar 2012-07-11 10:14:55

+1

你的意思是如何從日期對象中獲得毫秒的時間?因爲這只是日期類的.getTime()方法... – 2012-07-11 10:17:12

+0

沒有,當我將更改從日期糾察的日期,然後我想以毫秒爲單位獲取該日期。 – Reyjohn 2012-07-11 10:25:56

回答

9

創建一個Calender實例並設置你想要的日期。然後致電calendar.getTimeInMillis();。有關更多信息,請參閱this previous SO question的答案。

編輯要設置日曆日期,你可以使用這樣的事情:

//Lets suppose you have a DatePicker instance called datePicker 
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth()); 
cal.set(Calendar.MONTH, datePicker.getMonth()); 
cal.set(Calendar.YEAR, datePicker.getYear()); 

Calendar類以獲取更多信息。

+0

我看到了答案,但我無法找到我應該在 onDateSet(...)中寫什麼? – Reyjohn 2012-07-11 10:18:25

+0

@Reyjohn我已經更新了我的答案。希望能幫助到你。 – Angelo 2012-07-11 10:29:18

+0

是這個工作:D非常感謝 – Reyjohn 2012-07-11 10:40:29

1

當我遇到這個答案時,我正在尋找一個javase場景的類似解決方案。我對作了一些修改,使Angelo的答案成爲我自己的案例,並且它給了我正在尋找的東西。爲了讓事情變得更有趣,我創建了一個可以重用的方法。

class Controller { 

    public static Calendar cal = Calendar.getInstance(); 

    public static long getEpoch_fromDatePicker(DatePicker datePicker) { 

     Controller.cal.set(Calendar.DAY_OF_MONTH, datePicker.getValue().getDayOfMonth()); 
     Controller.cal.set(Calendar.MONTH, datePicker.getValue().getMonthValue()); 
     Controller.cal.set(Calendar.YEAR, datePicker.getValue().getYear()); 

     return Controller.cal.getTimeInMillis() /1000; 
    } 
} 

有人可能會發現這很有

相關問題