如何从日期选择器获取毫秒?

时间:2012-07-11 10:11:47

标签: java android

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

System.currentTimeMillis()

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

2 个答案:

答案 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;
    }
}

有人可能会发现这个有用的