29

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

例如,我选择了日期2-5-2012时间20:43

现在我必须将此日期时间转换为毫秒,例如

DateTimeInMilliseconds =1234567890

4

4 回答 4

50

您可以使用 DatePicker 和 TimePicker 中的值创建一个 Calendar 对象:

Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), 
             timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
于 2012-11-04T21:45:41.910 回答
11

将两个字符串合并在一起,并使用SimpleDateFormat.

像这样的东西:

String toParse = myDate + " " + myTime; // Results in "2-5-2012 20:43"
SimpleDateFormat formatter = new SimpleDateFormat("d-M-yyyy hh:mm"); // I assume d-M, you may refer to M-d 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

于 2012-11-04T21:42:33.220 回答
6

您可以使用此代码

String string_date = "12-December-2012";

SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
Date d = f.parse(string_date);
long milliseconds = d.getTime();
于 2013-12-11T16:28:32.577 回答
4

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

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

因此,如果您在某处有一个 Date 对象,例如:

Date date;

你可以做:

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

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

于 2012-11-04T21:46:01.487 回答