在Android中将date和时间转换为毫秒

我有DatePickerTimePicker date时间 。 现在我想将选定的date和时间更改为毫秒 。 我怎样才能做到这一点???

例如,我select了date 2-5-2012时间 20:43

现在我必须把这个date时间转换成毫秒

DateTimeInMilliseconds = 1234567890

  • 使用时间select器android获取时间
  • 在XML中设置Android TimePicker
  • 当解除TimePickerDialog时,OnTimeSet也被调用
  • Android TimePicker(车轮风格)没有正确响应ScrollView中的轻弹手势
  • AppCompatSpinner的条目在第二次select时不打开TimePickerDialog。 请看详情
  • Android TimePickerDialog设置最大时间
  • Android TimePickerDialog设置最长时间
  • Android:关注TimePicker元素
  • 您可以使用DatePicker和TimePicker中的值创build一个Calendar对象:

     Calendar calendar = Calendar.getInstance(); calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0); long startTime = calendar.getTimeInMillis(); 

    合并两个string,并使用SimpleDateFormatparsing它们。

    像这样的东西:

     String toParse = myDate + " " + myTime; // Results in "2-5-2012 20:43" SimpleDateFormat formatter = new SimpleDateFormat("dM-yyyy hh:mm"); // I assume dM, you may refer to Md for month-day instead. Date date = formatter.parse(toParse); // You will need try/catch around this long millis = date.getTime(); 

    在IDEOne上的示例: http ://ideone.com/nOJYQ4

    你可以使用这个代码

     String string_date = "12-December-2012"; SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy"); Date d = f.parse(string_date); long milliseconds = d.getTime(); 

    Date类的getTime()方法以毫秒为单位返回一个long

    http://developer.android.com/reference/java/util/Date.html

    所以如果你有一个Date对象的地方像:

     Date date; 

    你可以做:

     System.out.println(date.getTime()); 

    它将以毫秒为单位打印出时间。