Преобразование даты и времени в миллисекунды в Android

Я дата и времени С DatePicker и TimePicker. Теперь я хочу изменить выбранную дату и время в МС. Как я могу это сделать???

например у меня есть дата избранные 2-5-2012 и времени is 20:43

теперь я должен преобразовать это время даты в МС что-то вроде

DateTimeInMilliseconds = 1234567890

4 ответов


вы можете создать объект календаря со значениями из вашего DatePicker и TimePicker:

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

объедините две строки вместе и проанализируйте их с помощью 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


вы можете использовать этот код

String string_date = "12-December-2012";

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

на getTime() метод Date класс возвращает long со временем в миллисекундах.

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

Итак, если у вас есть объект даты где-то вроде:

Date date;

вы можете сделать:

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

и он распечатает время в миллисекундах.