Wie zeige ich das aktuelle Datum und die aktuelle Uhrzeit in einer Android-Anwendung an?
Wie zeige ich das aktuelle Datum und die aktuelle Uhrzeit in einer Android-Anwendung an?
Antworten:
Okay, nicht so schwer, da es verschiedene Methoden gibt, um dies zu tun. Ich gehe davon aus, dass Sie das aktuelle Datum und die aktuelle Uhrzeit in eine eingeben möchten TextView
.
String currentDateTimeString = java.text.DateFormat.getDateTimeInstance().format(new Date());
// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
In der Dokumentation finden Sie mehr zu lesen, die hier leicht zu finden ist . Dort finden Sie weitere Informationen zum Ändern des für die Konvertierung verwendeten Formats.
"HH:mm:ss"
! Vollständig:currentTimeString = new SimpleDateFormat("HH:mm:ss").format(new Date());
DateFormat.getTimeInstance()
und DateFormat.getDateTimeInstance()
.
public class XYZ extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
Calendar c = Calendar.getInstance();
System.out.println("Current time => "+c.getTime());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = df.format(c.getTime());
// formattedDate have current date/time
Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
// Now we display formattedDate value in TextView
TextView txtView = new TextView(this);
txtView.setText("Current Date and Time : "+formattedDate);
txtView.setGravity(Gravity.CENTER);
txtView.setTextSize(20);
setContentView(txtView);
}
}
SimpleDateFormat
weil ich habe, kann keine Symbolklasse finden
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread myThread = null;
Runnable runnable = new CountDownRunner();
myThread= new Thread(runnable);
myThread.start();
}
public void doWork() {
runOnUiThread(new Runnable() {
public void run() {
try{
TextView txtCurrentTime= (TextView)findViewById(R.id.lbltime);
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = hours + ":" + minutes + ":" + seconds;
txtCurrentTime.setText(curTime);
}catch (Exception e) {}
}
});
}
class CountDownRunner implements Runnable{
// @Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
try {
doWork();
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch(Exception e){
}
}
}
}
Die offensichtlichen Optionen für die Anzeige der Uhrzeit sind die AnalogClock
Ansicht und die DigitalClock
Ansicht .
Zum Beispiel das folgende Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<AnalogClock
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<DigitalClock
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"/>
</LinearLayout>
Sieht aus wie das:
Falls Sie eine einzelne Codezeile wünschen:
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
Das Ergebnis ist "2016-09-25 16:50:34"
Meine eigene Arbeitslösung:
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);
Hoffe das hilft!
Von Wie erhalte ich das vollständige Datum mit dem richtigen Format? ::
Benutzen Sie bitte
android.text.format.DateFormat.getDateFormat(Context context)
android.text.format.DateFormat.getTimeFormat(Context context)
um gültige Zeit- und Datumsformate im Sinne der aktuellen Benutzereinstellungen zu erhalten (z. B. 12/24-Zeitformat).
import android.text.format.DateFormat;
private void some() {
final Calendar t = Calendar.getInstance();
textView.setText(DateFormat.getTimeFormat(this/*Context*/).format(t.getTime()));
}
Hier ist der Code, der für mich funktioniert hat. Bitte versuchen Sie dies. Es ist eine einfache Methode, die Zeit und Datum von einem Systemaufruf nimmt. Die Methode Datetime (), wo immer Sie sie benötigen.
public static String Datetime()
{
Calendar c = Calendar .getInstance();
System.out.println("Current time => "+c.getTime());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mms");
formattedDate = df.format(c.getTime());
return formattedDate;
}
Verwenden:
Calendar c = Calendar.getInstance();
int seconds = c.get(Calendar.SECOND);
int minutes = c.get(Calendar.MINUTE);
int hour = c.get(Calendar.HOUR);
String time = hour + ":" + minutes + ":" + seconds;
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
String date = day + "/" + month + "/" + year;
// Assuming that you need date and time in a separate
// textview named txt_date and txt_time.
txt_date.setText(date);
txt_time.setText(time);
Calendar c = Calendar.getInstance();
int month=c.get(Calendar.MONTH)+1;
String sDate = c.get(Calendar.YEAR) + "-" + month+ "-" + c.get(Calendar.DAY_OF_MONTH) +
"T" + c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
Dies gibt ein Datums- / Uhrzeitformat wie 2010-05-24T18: 13: 00 an
Mit dem TextClock-Widget sind Sie am besten dran. Es übernimmt die gesamte Komplexität für Sie und berücksichtigt die 12/24-Stunden-Einstellungen des Benutzers. http://developer.android.com/reference/android/widget/TextClock.html
So zeigen Sie die aktuelle Datumsfunktion an:
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(c.getTime());
Date.setText(date);
Sie müssen importieren wollen
import java.text.SimpleDateFormat; import java.util.Calendar;
Sie müssen verwenden wollen
TextView Date;
Date = (TextView) findViewById(R.id.Date);
Kopieren Sie einfach diesen Code und hoffen Sie, dass dies für Sie gut funktioniert.
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
String strDate = sdf.format(c.getTime());
Versuchen Sie den folgenden Code:
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println("time => " + dateFormat.format(cal.getTime()));
String time_str = dateFormat.format(cal.getTime());
String[] s = time_str.split(" ");
for (int i = 0; i < s.length; i++) {
System.out.println("date => " + s[i]);
}
int year_sys = Integer.parseInt(s[0].split("/")[0]);
int month_sys = Integer.parseInt(s[0].split("/")[1]);
int day_sys = Integer.parseInt(s[0].split("/")[2]);
int hour_sys = Integer.parseInt(s[1].split(":")[0]);
int min_sys = Integer.parseInt(s[1].split(":")[1]);
System.out.println("year_sys => " + year_sys);
System.out.println("month_sys => " + month_sys);
System.out.println("day_sys => " + day_sys);
System.out.println("hour_sys => " + hour_sys);
System.out.println("min_sys => " + min_sys);
Sie können es auf diese Weise versuchen
Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("HH:mm:ss");
String strDate = "Current Time : " + mdformat.format(calendar.getTime());
Wenn Sie mit Datum / Uhrzeit in Android arbeiten möchten, empfehle ich Ihnen, ThreeTenABP zu verwenden , eine Version des java.time.*
Pakets (verfügbar ab API 26 auf Android), das mit Java 8 geliefert wird java.util.Date
und als Ersatz für und verfügbar ist java.util.Calendar
.
LocalDate localDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
String date = localDate.format(formatter);
textView.setText(date);
ZonedDateTime
anstelle von LocalDate
und DateTimeFormatter.ofLocalizedDateTime
anstelle von verwenden ofLocalizedDate
. Andernfalls ist der Code derselbe.
Zum Anzeigen des aktuellen Datums und der aktuellen Uhrzeit in der Textansicht
/// For Show Date
String currentDateString = DateFormat.getDateInstance().format(new Date());
// textView is the TextView view that should display it
textViewdate.setText(currentDateString);
/// For Show Time
String currentTimeString = DateFormat.getTimeInstance().format(new Date());
// textView is the TextView view that should display it
textViewtime.setText(currentTimeString);
Vollständigen Code überprüfen Android - Zeigt das aktuelle Datum und die aktuelle Uhrzeit in einem Android Studio-Beispiel mit Quellcode an
Aktuelle Uhrzeit / Datum abrufen einfach den folgenden Codeausschnitt:
So verwenden Sie die Zeit :
SimpleDateFormat simpleDateFormatTime = new SimpleDateFormat("HH:mm", Locale.getDefault());
String strTime = simpleDateFormatTime.format(now.getTime());
So verwenden Sie Datum :
SimpleDateFormat simpleDateFormatDate = new SimpleDateFormat("E, MMM dd, yyyy", Locale.getDefault());
String strDate = simpleDateFormatDate.format(now.getTime());
und du bist gut zu gehen.
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";
}
java.text.DateFormat
und NICHTandroid.text.format.DateFormat
! Und es istjava.util.Date
und NICHTjava.sql.Date
! Nur ein kleiner Hinweis zum Stellen von Fragen: Versuchen Sie genau zu sein, z. B.: Erklären Sie, was Sie in Ihrer Frage mit "Anzeige" meinen. Und wenn Sie meine Zeilen eingeben - natürlich müssen sowohl Date als auch DateFormat importiert werden -, wenn Sie jeweils 2 auswählen können, können Sie zumindest eine beliebige Kombination ausprobieren: Es sind nur 4!