Ich habe den folgenden Code geschrieben
Date d = new Date();
CharSequence s = DateFormat.format("MMMM d, yyyy ", d.getTime());
Aber fragt mich Parameter, ich möchte aktuelles Datum im String-Format,
mögen
28-Dec-2011
damit ich mich setzen kann TextView
,
Erklären Sie ein wenig, wenn Sie denken, dass etwas notwendig ist, bin ich neu in der Android-Entwicklung.
android
date
simpledateformat
android-date
Chatar Veer Suthar
quelle
quelle
DateFormat
Klasse in Ordnung war, als diese Frage im Jahr 2011 gestellt wurde, waren diese Klasse und ihre UnterklasseSimpleDateFormat
immer problematisch und sind nun längst veraltet. Ich empfehle, dass Sie sie nicht verwenden und stattdessen in java.time, der modernen Java-API für Datum und Uhrzeit, nachsehen .Antworten:
Sie können die
SimpleDateFormat
Klasse zum Formatieren des Datums in Ihrem gewünschten Format verwenden.Überprüfen Sie einfach diesen Link, wo Sie eine Idee für Ihr Beispiel bekommen.
Beispielsweise:
Aktualisieren:
Das detaillierte Beispiel finden Sie hier . Ich würde vorschlagen, dass Sie dieses Beispiel durchgehen und das Konzept der SimpleDateFormat-Klasse verstehen.
Endgültige Lösung:
quelle
java.util.Date
,java.util.Calendar
undjava.text.SimpleDateFormat
sind jetzt Erbe , durch die verdrängte java.time Klassen in Java gebaut 8 und höher. Siehe Tutorial von Oracle .Mit dem einfachen einzeiligen Code zum Abrufen des aktuellen Datums in diesem JJJJ-MM-TT- Format können Sie das gewünschte Format verwenden:
quelle
Dies hat nichts mit Android zu tun, da es auf Java basiert und Sie es verwenden können
quelle
quelle
Versuche dies,
quelle
Sie benötigen zuerst eine Instanz
quelle
Funktioniert wie ein Zauber und konvertiert als Bonus in String;)
quelle
// Datumsklasse als java.util importieren
quelle
Der folgende Code zeigt sowohl die Uhrzeit als auch das Datum an
quelle
quelle
Ich gebe die moderne Antwort.
java.time und ThreeTenABP
So erhalten Sie das aktuelle Datum:
Dadurch erhalten Sie ein
LocalDate
Objekt, mit dem Sie ein Datum in Ihrem Programm behalten sollten. ALocalDate
ist ein Datum ohne Tageszeit.Nur wenn Sie das Datum einem Benutzer anzeigen müssen, formatieren Sie es in eine Zeichenfolge, die für das Gebietsschema des Benutzers geeignet ist:
Als ich dieses Snippet heute im US-englischen Gebietsschema ausführte, war die Ausgabe:
Wenn Sie es kürzer möchten, geben Sie an
FormatStyle.MEDIUM
oder sogarFormatStyle.SHORT
.DateTimeFormatter.ofLocalizedDate
Verwendet das Standardformatierungsgebietsschema, sodass der Punkt darin besteht, dass eine für dieses Gebietsschema geeignete Ausgabe ausgegeben wird, die für verschiedene Gebietsschemas unterschiedlich ist.Wenn Ihr Benutzer ganz besondere Anforderungen an das Ausgabeformat hat, verwenden Sie eine Formatmusterzeichenfolge:
Ich verwende und empfehle java.time, die moderne Java-API für Datum und Uhrzeit.
DateFormat
,SimpleDateFormat
,Date
UndCalendar
in der Frage und / oder viele der anderen Antworten sind schlecht konzipiert und lange veraltet verwendet. Und mit java.time kann man viel besser arbeiten.Frage: Kann ich java.time unter Android verwenden?
Ja, java.time funktioniert gut auf älteren und neueren Android-Geräten. Es erfordert nur mindestens Java 6 .
org.threeten.bp
Zeitklassen mit Unterpaketen importieren.Links
java.time
zuerst beschrieben wurde.java.time
Java 6 und 7 (ThreeTen für JSR-310).quelle
DateTimeUtils.toDate(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Bei Verwendung der integrierten java.time :Date.from(yourLocalDateTime.atZone(ZoneId.systemDefault()).toInstant())
. Siehe Konvertieren zwischen java.time.LocalDateTime und java.util.Date . Die maßgebliche Antwort von JodaStephen ist da und auch eine Antwort, die die Verwendung des Backports zeigt .quelle
28-Dec-2011
), das nicht bereits in den anderen Antworten enthalten ist? Auf jeden Fall wird immer noch die notorisch mühsame und längst veralteteSimpleDateFormat
Klasse verwendet. Bitte, wir brauchen dafür keine weiteren Antworten.quelle
Eine einfache Änderung an Pareshs Lösung:
quelle
quelle
Sie können den folgenden Code verwenden, um ein Datum in dem gewünschten Format abzurufen.
quelle
Dieser ist die beste Antwort ...
quelle
Der einfachste Weg, um das aktuelle Datum im aktuellen Gebietsschema (Gerätegebietsschema!) Abzurufen:
Wenn Sie das Datum in verschiedenen Stilen haben möchten, verwenden Sie
getDateInstance(int style)
:Andere Stile:
DateFormat.LONG
,DateFormat.DATE_FIELD
,DateFormat.DAY_OF_YEAR_FIELD
usw. (Verwendung , CTRL+Spacesie alle zu sehen)Wenn Sie auch die Zeit brauchen:
quelle
quelle
Versuchen Sie es mit diesem Code-Link. Dies ist die absolut richtige Antwort für alle Fälle in Bezug auf Datum und Uhrzeit. oder passen Sie Datum und Uhrzeit nach Bedarf und Anforderung der App an.
versuchen Sie es mit diesem Link. versuchen Sie es mit diesem Link
quelle
Ich habe eine Kalender-App mit CalendarView geschrieben und es ist mein Code:
Das Feld "Kalender" ist meine Kalenderansicht. Importe:
Ich habe das aktuelle Datum ohne Fehler.
quelle
Dies ist der Code, den ich verwendet habe:
quelle
Ich habe das schon benutzt:
Zuerst bekomme ich Zeit, dann habe ich ein einfaches Datumsformat deklariert (um das Datum zu erhalten wie: 19-6-2018), dann verwende ich das Format, um das Datum in eine Zeichenfolge zu ändern.
quelle
Nur ein Zeilencode, um ein einfaches Datumsformat zu erhalten:
Ausgabe: 18. Mai 2020
Ausgabe: 18. Mai 2020, 11:00:39 Uhr
Ausgabe: 11:00:39 Uhr
Hoffe, diese Antwort reicht aus, um dieses Datums- und Zeitformat zu erhalten ... :)
quelle
SimpleDateFormat
undDateFormat
Klassen. Zumindest nicht als erste Option. Und das nicht ohne Vorbehalt. Heute haben wir so viel besser injava.time
der modernen Java-API für Datum und Uhrzeit und derenDateTimeFormatter
. Ja, Sie können es auf Android verwenden. Für ältere Android siehe Verwendung von ThreeTenABP in Android Project .Dies ist der Code, den ich verwendet habe :
quelle