Jak se vám formátovat datum a čas v Androidu?

hlasů
229

Jak formátovat správně v závislosti na konfiguraci zařízení datum a čas, kdy k co rok, měsíc, den, hodinu a minutu?

Položena 18/01/2009 v 00:41
zdroj uživatelem
V jiných jazycích...                            


23 odpovědí

hlasů
244

Použít standardní třídy Java dateformat.

Pro příklad se zobrazí aktuální datum a čas, postupujte takto:

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

Můžete inicializovat objekt Date se svými vlastními hodnotami, ale měli byste si být vědomi toho, že konstruktéři byly zastaralé a vy byste měli opravdu používat kalendáře objekt Java.

Odpovězeno 19/01/2009 v 09:57
zdroj uživatelem

hlasů
19

To bude dělat to:

Date date = new Date();
java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext());
mTimeText.setText("Time: " + dateFormat.format(date));
Odpovězeno 03/08/2010 v 22:48
zdroj uživatelem

hlasů
168

Podle mého názoru, android.text.format.DateFormat.getDateFormat(context)je mi zmatená, protože tato metoda vrací java.text.DateFormatnamísto android.text.format.DateFormat- -“.

Takže, já používám kód fragment jak je uvedeno níže získat aktuální datum / čas v mém formátu.

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

or

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

Kromě toho můžete použít ostatní formáty. Následovat dateformat .

Odpovězeno 14/10/2010 v 05:34
zdroj uživatelem

hlasů
4

Tento kód vrátí aktuální datum a čas:

public String getCurrDate()
{
    String dt;
    Date cal = Calendar.getInstance().getTime();
    dt = cal.toLocaleString();
    return dt;
}
Odpovězeno 27/07/2011 v 11:39
zdroj uživatelem

hlasů
2

Snaž se:

event.putExtra("startTime", "10/05/2012");

A když jste vstoupili předány proměnné:

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = formatter.parse(bundle.getString("startTime"));
Odpovězeno 26/03/2012 v 07:46
zdroj uživatelem

hlasů
7

Použít tyto dva jako třída proměnných:

 public java.text.DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
 private Calendar mDate = null;

A použít ji takto:

 mDate = Calendar.getInstance();
 mDate.set(year,months,day);                   
 dateFormat.format(mDate.getTime());
Odpovězeno 23/06/2012 v 06:44
zdroj uživatelem

hlasů
12

použití SimpleDateFormat

Takhle:

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

SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Date date = format.parse(bundle.getString("starttime"));
Odpovězeno 18/12/2012 v 08:55
zdroj uživatelem

hlasů
7

Použití integrovaného ve třídě Time!

Time time = new Time();
time.set(0, 0, 17, 4, 5, 1999);
Log.i("DateTime", time.format("%d.%m.%Y %H:%M:%S"));
Odpovězeno 16/01/2013 v 14:10