우리가 알고있는 달의 이름을 알 수있는 oneliner가 int monthNumber = calendar.get(Calendar.MONTH)
있습니까? 아니면 가장 쉬운 방법은 무엇입니까?
답변
이 방법으로도 얻을 수 있습니다.
String getMonthForInt(int num) {
String month = "wrong";
DateFormatSymbols dfs = new DateFormatSymbols();
String[] months = dfs.getMonths();
if (num >= 0 && num <= 11 ) {
month = months[num];
}
return month;
}
답변
날짜 및 시간 형식을 지정하는 SimpleDateFormat 을 사용하여이를 달성 할 수 있습니다 .
Calendar cal = Calendar.getInstance();
System.out.println(new SimpleDateFormat("MMM").format(cal.getTime()));
답변
이렇게 간단합니다
mCalendar = Calendar.getInstance();
String month = mCalendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.getDefault());
답변
이것이 내가 수업 프로젝트를 위해 생각해 낸 해결책입니다.
public static String theMonth(int month){
String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
return monthNames[month];
}
전달한 번호는 Calendar.MONTH
전화 에서 나옵니다 .
답변
다국어 인터페이스가있는 경우 getDisplayName을 사용하여 표시 언어 제어와 함께 월 이름을 표시 할 수 있습니다.
다음은 “시리아”와 같은 특정 국가에서 월 이름을 영어, frensh, 아랍어 및 아랍어로 표시하는 예입니다.
Calendar c = Calendar.getInstance();
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.FRANCE ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, new Locale("ar") ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, new Locale("ar", "SY") ) );
System.out.println(c.getTime().toString());
결과는 다음과 같습니다.
January
janvier
يناير
كانون الثاني
Sat Jan 17 19:31:30 EET 2015
답변
SimpleDateFormat dateFormat = new SimpleDateFormat( "LLLL", Locale.getDefault() );
dateFormat.format( date );
일부 언어 (예 : 러시아어)의 경우 이것은 독립형 월 이름을 얻는 유일한 올바른 방법입니다.
이것은 당신이 사용하는 경우 당신이 무엇을 얻을 getDisplayName
으로부터 Calendar
또는 DateFormatSymbols
월로 :
января (전체 날짜 문자열 : ” 10 января, 2014 “)
그러나 독립형 월 이름의 경우 다음과 같이 예상됩니다.
январь
답변
Joda-Time
Joda-Time을 사용하는 것은 어떻습니까 ? 작업하기에 훨씬 더 나은 날짜-시간 API입니다 ( January
여기서는 1 월을 의미합니다. 0-based
몇 달 동안 색인을 사용하는 캘린더와 다릅니다 ).
AbstractDateTime#toString( pattern )
방법을 사용하여 지정된 형식으로 날짜를 형식화 할 수 있습니다 .
DateTime date = DateTime.now();
String month = date.toString("MMM");
번호에서 월 이름
특정 월 번호에 대한 월 이름을 원하면 다음과 같이 할 수 있습니다.
int month = 3;
String monthName = DateTime.now().withMonthOfYear(month).toString("MMM");
현지화
위의 접근 방식은 월 이름의 언어로 JVM의 현재 기본 로케일을 사용합니다. 대신 Locale 개체를 지정하려고합니다.
String month = date.toString( "MMM", Locale.CANADA_FRENCH );