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


当前回答

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

其他回答

我自己的工作解决方案:

Calendar c = Calendar.getInstance();

String sDate = c.get(Calendar.YEAR) + "-" 
+ c.get(Calendar.MONTH)
+ "-" + c.get(Calendar.DAY_OF_MONTH) 
+ " at " + c.get(Calendar.HOUR_OF_DAY) 
+ ":" + c.get(Calendar.MINUTE);

希望这能有所帮助!

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

如果你想在android中使用日期/时间,我建议你使用ThreeTenABP,这是java.time的一个版本。*包(可从android上的API 26开始使用)随Java 8一起发布,可作为Java .util. date和Java .util. calendar的替代品。

LocalDate localDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
String date = localDate.format(formatter);
textView.setText(date);

简单地复制此代码,并希望这为您工作良好。

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
String strDate = sdf.format(c.getTime());

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

请使用

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