如何在Android应用程序中显示当前日期和时间?


当前回答

String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); 

使用formattedDate作为填充日期的字符串。 在我的情况下:mDateButton.setText(formattedDate);

其他回答

这并不难,因为有几种方法可以做到这一点。我假设你想把当前的日期和时间放入TextView。

String currentDateTimeString = java.text.DateFormat.getDateTimeInstance().format(new Date());

// textView is the TextView view that should display it
textView.setText(currentDateTimeString);

文档中有更多内容,可以在这里轻松找到 . 在那里,您将找到关于如何更改用于转换的格式的更多信息。

如果您想以特定的模式获取日期和时间,可以使用

Date d = new Date();
CharSequence s = DateFormat.format("yyyy-MM-dd hh:mm:ss", d.getTime());
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
Date date = Calendar.getInstance().getTime();
String sDate = format.format(date);//31-12-9999
int mYear = c.get(Calendar.YEAR);//9999
int mMonth = c.get(Calendar.MONTH);
mMonth = mMonth + 1;//12
int hrs = c.get(Calendar.HOUR_OF_DAY);//24
int min = c.get(Calendar.MINUTE);//59
String AMPM;
if (c.get(Calendar.AM_PM) == 0) {
    AMPM = "AM";
} else {
    AMPM = "PM";
}

实际上,最好使用TextClock小部件。它为您处理所有的复杂性,并将尊重用户的12/24小时的偏好。 http://developer.android.com/reference/android/widget/TextClock.html

从如何获得完整的日期与正确的格式?:

请使用

android.text.format.DateFormat.getDateFormat(Context context)
android.text.format.DateFormat.getTimeFormat(Context context)

获得当前用户设置意义上的有效时间和日期格式(例如12/24时间格式)。

import android.text.format.DateFormat;

private void some() {
    final Calendar t = Calendar.getInstance();
    textView.setText(DateFormat.getTimeFormat(this/*Context*/).format(t.getTime()));
}