월의 날짜를 표시할 때 날짜를 표시하기 위해 서수 표시기를 포함하는 것이 바람직한 경우가 많습니다. "1일", "2일", "3일" 등인지 여부. Java의 SimpleDateFormat은 날짜의 숫자 형식을 지정하는 방법을 제공합니다. 월("d")에는 서수 표시기가 포함되지 않습니다.
서수 표시기로 날짜 형식을 지정하려면 사용자 정의 함수를 사용하거나 외부 라이브러리에. 그러한 라이브러리 중 하나는 getDayOfMonthSuffix라는 메소드를 제공하는 Google Guava입니다.
import static com.google.common.base.Preconditions.*; String getDayOfMonthSuffix(final int n) { checkArgument(n >= 1 && n <= 31, "illegal day of month: " + n); if (n >= 11 && n <= 13) { return "th"; } switch (n % 10) { case 1: return "st"; case 2: return "nd"; case 3: return "rd"; default: return "th"; } }
이 예에서 getDayOfMonthSuffix는 해당 월의 날짜를 입력으로 사용하고 해당 서수 표시기를 반환합니다. 날짜가 "11", "12" 또는 "13"으로 끝나는 특수한 경우를 처리하여 "st", "nd" 또는 "rd" 대신 "th"를 반환합니다.
이 방법 사용 , 이제 서수 표시기를 사용하여 월의 날짜 형식을 지정할 수 있습니다.
SimpleDateFormat sdf = new SimpleDateFormat("MMMMM d"); int dayOfMonth = 21; String formattedDate = sdf.format(new Date()) + getDayOfMonthSuffix(dayOfMonth); System.out.println(formattedDate); // prints "January 21st"
서수 표시기로 월의 날짜 형식을 지정할 때 특수한 경우와 특별한 상황을 고려하는 것이 중요합니다. 예를 들어, 질문에 언급된 테이블에는 "7tn", "17tn" 및 "27tn"으로 끝나는 날짜에 대한 오류가 포함되어 있습니다. 이러한 버그를 피하려면 강력한 사용자 정의 코드를 사용하거나 잘 테스트된 라이브러리를 사용하는 것이 좋습니다.
위 내용은 Java에서 서수 표시기(1일, 2일, 3일)를 사용하여 날짜 형식을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!