3

在我的项目中,我在 sqllite 数据库中保存毫秒,默认情况下我正在保存

System.currentTimeMillis()

在数据库中,但有一个选项供用户从日期选择器中选择上一个日期?但是,当用户从日期选择器中选择前几天或未来几天时,我会保存什么?我怎样才能以长(毫秒)格式获得这一天?

4

2 回答 2

13

创建一个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());

有关详细信息,请参阅日历类。

于 2012-07-11T10:15:46.680 回答
1

当我遇到这个答案时,我正在为 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;
    }
}

有人可能会觉得这很有用

于 2016-08-04T17:16:26.330 回答