在我的项目中,我在sqllite数据库中保存毫秒,默认情况下我正在保存
System.currentTimeMillis()
在数据库中,但是有一个选项供用户从日期选择器中选择以前的日期?但是,当用户从日期选择器中选择上一个或上一个上几天时,我应该保存什么?我怎样才能将这一天作为一个长(毫秒)的格式?
答案 0 :(得分:11)
创建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课程。
答案 1 :(得分: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;
}
}
有人可能会发现这个有用的