Чтобы сохранить как переменную, чтобы ее можно было сравнить с другими датами, позвоните getTime()
:
int Day = 8;
int Month = 2;
int Year = 1950;
GregorianCalendar gcal = new GregorianCalendar(Year, Month, Day);
Date date = gcal.getTime();
Чтобы отформатировать это как Mar 8, 1950
, используйте SimpleDateFormat
:
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d, yyyy", Locale.US);
String str = dateFormat.format(date);
Нет необходимости указывать собственные названия месяцев.
Однако, если вы используете Java 8 или новее 1 , вы должны использовать класс LocalDate
вместо GregorianCalendar
:
int day = 8;
int month = 3;
int year = 1950;
LocalDate date = LocalDate.of(year, month, day);
Обратите внимание, что в отличие от GregorianCalendar
, * Значение 1029 * основано на 1, поэтому для получения Mar
должно быть 3
.
Чтобы отформатировать это как Mar 8, 1950
, используйте DateTimeFormatter
:
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("MMM d, uuuu", Locale.US);
String str = date.format(dateFormat);
1) Если вы используете Java 6 или 7, вы все равно можете использовать LocalDate
, добавив библиотеку ThreeTen-Backport .