Joda Time 또는 Java 자체에 int 또는 String을 인자로 취하는 메소드가 있는지 아는 사람 있습니까? 4 또는 "4"로 설정하고 월 이름을 짧은 형식으로 다시 표시합니다 (예 : 1 월의 JAN?Joda Time에서 짧은 달 이름을 얻는 방법?
긴 월 이름이 잘리고 대문자로 변환 될 수 있다고 가정합니다.
Joda Time 또는 Java 자체에 int 또는 String을 인자로 취하는 메소드가 있는지 아는 사람 있습니까? 4 또는 "4"로 설정하고 월 이름을 짧은 형식으로 다시 표시합니다 (예 : 1 월의 JAN?Joda Time에서 짧은 달 이름을 얻는 방법?
긴 월 이름이 잘리고 대문자로 변환 될 수 있다고 가정합니다.
Jon의 답변에 대한 응답으로 Joda의 datetime 클래스에 대한 직접 액세스를 사용하면 더 간단하게 할 수 있습니다.
String month = date.toString("MMM");
나는 "MMM"이 Joda에서 달 이름을 줄 것이라고 믿지만 ... 적절한 포매터를 먼저 만들어야합니다. 내 상자에 "4 월"을 인쇄하는 샘플 코드가 있습니다. (당신은 물론 관련 로케일을 지정할 수 있습니다.)
import org.joda.time.*;
import org.joda.time.format.*;
public class Test
{
public static void main(String[] args)
{
// Year and day will be ignored
LocalDate date = new LocalDate(2010, 4, 1);
DateTimeFormatter formatter = DateTimeFormat.forPattern("MMM");
String month = formatter.print(date);
System.out.println(month);
}
}
감사합니다. 나는 나중에 이것을 필요로 할 것이다. –
Google은 Joda 시간을 내부적으로 사용합니까? –
@mP : 예, 있습니다. –
이 것이 될 필요한 것보다 좀 더 복잡한 java.util.Calendar
을 한 사용에 대한 내 마지막 대답을. 여기에 더 간단한 버전이 있지만 Java 6 이상이 필요합니다.
import java.util.Calendar;
import java.util.Locale;
public class Test
{
public static void main(String[] args)
{
// Sample usage.
// Should be "Apr" in English languages
String month = getMonthNameShort(4);
System.out.println(month);
}
/**
* @param month Month number
* @return The short month name
*/
public static String getMonthNameShort(int month)
{
Calendar cal = Calendar.getInstance();
// Calendar numbers months from 0
cal.set(Calendar.MONTH, month - 1);
return cal.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.getDefault());
}
}
LocalDateTime fecha_sistema = LocalDateTime.now();
// return month value betwen 1 to 12
int month = fecha_sistema.getMonthValue();
// return month name
String mes = fecha_sistema.getMonth().name();
System.out.println("Month" + mes + "/ " + month);
우리는 다음과 같이 수행 할 수 있습니다
DateTime dt = new DateTime(); // current time
String monthStr = dt.month().getAsShortText(); // gets the month name
은 또한 긴 달 이름에 대한 getAsText()
방법을 사용할 수 있습니다.
또는 특정 로케일에 대한'String month = date.toString ("MMM", Locale.US)'. – Pang