Java >> Java Program >  >> Tag >> java.util

java.util.Date och getYear()

Utöver alla kommentarerna tänkte jag lägga till lite kod om hur man använder java.util.Date, java.util.Calendar och java.util.GregorianCalendar enligt javadoc.

//Initialize your Date however you like it.
Date date = new Date();
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
//Add one to month {0 - 11}
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);

Enligt javadocs:

@Deprecated
public int getYear()

Utfasad . Från och med JDK version 1.1, ersatt av Calendar.get(Calendar.YEAR) - 1900 .

Returnerar ett värde som är resultatet av att subtrahera 1900 från året som innehåller eller börjar med det ögonblick i tid som representeras av detta Date-objekt, som tolkas i den lokala tidszonen.

Returer: det år som representeras av detta datum, minus 1900.

Se även: Kalender

Så 112 är rätt utgång. Jag skulle följa råden i Javadoc eller använda JodaTime istället.


Använd datumformat

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(datetime);
SimpleDateFormat df = new SimpleDateFormat("yyyy");
year = df.format(date);

Java-tagg