Конвертировать дату и время в миллисекунды в Android
У меня Дата и Время от DatePicker
и TimePicker
. Теперь я хочу изменить выбранную дату и время на миллисекунды. Как я могу это сделать???
Для примера я выбрал Дата 2-5-2012
и Время 20:43
Теперь мне нужно преобразовать это время даты в миллисекунды что-то вроде
DateTimeInMilliseconds= 1234567890
Ответы
Ответ 1
Вы можете создать объект Calendar со значениями из DatePicker и TimePicker:
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(),
timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
long startTime = calendar.getTimeInMillis();
Ответ 2
Объедините две строки вместе и проанализируйте их с помощью 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
Ответ 3
Вы можете использовать этот код
String string_date = "12-December-2012";
SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
Date d = f.parse(string_date);
long milliseconds = d.getTime();
Ответ 4
Метод getTime()
класса Date
возвращает a long
со временем в миллисекундах.
http://developer.android.com/reference/java/util/Date.html
Итак, если у вас есть объект Date где-то вроде:
Date date;
Вы можете сделать:
System.out.println(date.getTime());
И он распечатает время в миллисекундах.