在我的项目中,我在 sqllite 数据库中保存毫秒,默认情况下我正在保存
System.currentTimeMillis()
在数据库中,但有一个选项供用户从日期选择器中选择上一个日期?但是,当用户从日期选择器中选择前几天或未来几天时,我会保存什么?我怎样才能以长(毫秒)格式获得这一天?
创建一个Calender
实例并设置您想要的日期。然后调用calendar.getTimeInMillis();
。有关更多信息,请参阅上一个 SO 问题的答案。
编辑要设置日历日期,您可以使用以下内容:
//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());
有关详细信息,请参阅日历类。
当我遇到这个答案时,我正在为 javase 场景寻找类似的解决方案。我对安吉洛的回答做了一些修改,以使我自己的案例工作,它给了我我想要的东西。为了让事情变得更有趣,我创建了一个可以重用的方法。
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;
}
}
有人可能会觉得这很有用