Преобразование даты и времени в миллисекунды в 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());
и он распечатает время в миллисекундах.