GregorianCalendar konstant Datum
-
06-07-2019 - |
Frage
Ok, ich will mein Programm machen, das Datum auszudrucken: 1.1.2009
Aber das ist, was es ausdruckt:
Do 1. JANUAR 00.00.00 EST 2009
Von diesem Code
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
startDate.setLenient(false);
Date date = new Date(startDate.getTimeInMillis());
System.out.println(date);
}
Wie kann ich es ändern, so dass es nur 1/1/2009 ausdruckt?
Lösung
Verwenden Sie SimpleDateFormat
:
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart() {
startDate.setLenient(false);
DateFormat df = new SimpleDateFormat("d/M/yyyy");
df.format(startDate.getDate());
}
Sie ruft implizit die toString()
Methode, die (richtig) ist den gesamten Inhalt auszudrucken.
Übrigens gibt es keine Notwendigkeit, ein Datum Art und Weise zu konstruieren Sie tun. Der Aufruf getDate()
auf einem Calendar
gibt ein Date
Objekt.
Andere Tipps
Derzeit ist die Date.toString()
Methode aufgerufen wird, um die Darstellung des String
DateFormat
die eine String
Darstellung erzeugen wird, die gewünscht wird. Das DateFormat
Objekt kann verwendet werden, um eine Date
Instanz auf die gewünschte Formatierung zu formatieren, mit der format
Methode.
Die einfachste Art und Weise zu erreichen, was erwünscht ist, ist die SimpleDateFormat
-Klasse, die ein Konstruktor das zur Ausgabe des Date
in einer gewünschten Form einen Format-String annimmt.
Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));
Output
1/1/2009