356 votes

Comment formatez-vous la date et l'heure dans Android?

Comment formater correctement selon la configuration de l'appareil une date et une heure lorsque vous avez l'année, le mois, le jour, l'heure et la minute?

305voto

JamieH Points 1397

Utilisez la classe Java DateFormat standard.

Par exemple, pour afficher la date et l'heure actuelles, procédez comme suit:

 Date date = new Date(location.getTime());
DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext());
mTimeText.setText("Time: " + dateFormat.format(date));
 

Vous pouvez initialiser un objet Date avec vos propres valeurs, mais vous devez savoir que les constructeurs ont été déconseillés et que vous devriez vraiment utiliser un objet Java Calendar.

227voto

Fuangwith S. Points 1636

À mon avis, android.text.format.DateFormat.getDateFormat(context) me rend confus parce que cette méthode renvoie java.text.DateFormat plutôt que android.text.format.DateFormat - - ".

Donc, j'utilise le code du fragment comme ci-dessous pour obtenir la date actuelle dans mon format.

 android.text.format.DateFormat df = new android.text.format.DateFormat();
df.format("yyyy-MM-dd hh:mm:ss", new java.util.Date());

or

android.text.format.DateFormat.format("yyyy-MM-dd hh:mm:ss", new java.util.Date());
 

En outre, vous pouvez utiliser d'autres formats. Suivez DateFormat .

21voto

tronman Points 2619

Cela va le faire:

 Date date = new Date();
java.text.DateFormat dateFormat =
    android.text.format.DateFormat.getDateFormat(getApplicationContext());
mTimeText.setText("Time: " + dateFormat.format(date));
 

17voto

neknek mouh Points 684

Utiliser SimpleDateFormat

Comme ça:

 event.putExtra("starttime", "12/18/2012");

SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Date date = format.parse(bundle.getString("starttime"));
 

14voto

FireZenk Points 93

Suite à cela: http://developer.android.com/reference/android/text/format/Time.html

Est préférable d'utiliser Android native Time classe:

 Time now = new Time();
now.setToNow();
 

Ensuite, formatez:

 Log.d("DEBUG", "Time "+now.format("%d.%m.%Y %H.%M.%S"));
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X