web-dev-qa-db-fra.com

Convertir la date et l'heure en millisecondes en Android

J'ai Date et Time de DatePicker et TimePicker. Maintenant, je veux changer la date et l'heure sélectionnées en millisecondes. Comment puis-je faire ceci???

Par exemple, j'ai Date sélectionné 2-5-2012 et Heure est 20:43

Maintenant, je dois convertir cette date-heure en millisecondes quelque chose comme

DateTimeInMilliseconds = 1234567890

28
Ahmad Abbasi

Vous pouvez créer un objet Calendar avec les valeurs de votre DatePicker et TimePicker:

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

Fusionnez les deux chaînes ensemble et analysez-les à l'aide de SimpleDateFormat .

Quelque chose comme ça:

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();

Exemple sur IDEOne: http://ideone.com/nOJYQ4

11
Eric

Vous pouvez utiliser ce code

String string_date = "12-December-2012";

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

La méthode getTime() de la classe Date renvoie un long avec le temps en millisecondes.

http://developer.Android.com/reference/Java/util/Date.html

Donc, si vous avez un objet Date quelque part comme:

Date date;

Tu peux faire:

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

Et il affichera l'heure en millisecondes.

4
fonZ