tl; dr
String output =
LocalDate.now( ZoneId.of( "America/Montreal" ) )
.getDayOfWeek()
.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) ;
java.time
Java 8 이상에 빌드되고 Java 6 및 7 및 Android 로 백 포팅 된 java.time 클래스 에는 편리한 DayOfWeek
열거 형이 포함되어 있습니다.
요일은 표준 ISO 8601 정의에 따라 번호가 지정되며 월요일-일요일은 1-7입니다.
DayOfWeek dow = DayOfWeek.of( 1 );
이 열거 형에는 getDisplayName
현지화 된 오늘의 번역 된 이름의 문자열을 생성하는 메서드가 포함되어 있습니다.
Locale
객체는 번역에 사용되는 인간의 언어를 지정하고, 지정 문화적 규범은 대문자와 문장 부호 등의 문제를 결정합니다.
String output = DayOfWeek.MONDAY.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) ;
오늘 날짜를 확인하려면 LocalDate
수업을 사용하세요 . 날짜가 전 세계에 따라 다르기 때문에 시간대는 매우 중요합니다.
ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
DayOfWeek dow = today.getDayOfWeek();
String output = dow.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) ;
로케일은 시간대와 관련이 없습니다. 두 가지 별개의 직교 문제가 있습니다. 인도 ( Asia/Kolkata
) 에있는 날짜-시간의 프랑스어 프레젠테이션을 원할 수 있습니다 .
Joda-Time
업데이트 : 현재 유지 보수 모드 인 Joda-Time 프로젝트 는 java.time 클래스 로의 마이그레이션을 권장 합니다.
Joda 타임 라이브러리를 제공합니다 Locale
날짜 - 시간 값의 구동 형 현지화.
DateTimeZone zone = DateTimeZone.forID( "America/Montreal" );
DateTime now = DateTime.now( zone );
Locale locale = Locale.CANADA_FRENCH;
DateTimeFormatter formatterUnJourQuébécois = DateTimeFormat.forPattern( "EEEE" ).withLocale( locale );
String output = formatterUnJourQuébécois.print( now );
System.out.println("output: " + output );
출력 : samedi
java.time 정보
java.time의 프레임 워크는 나중에 자바 8에 내장되어 있습니다. 이 클래스는 까다로운 기존에 대신 기존 과 같은 날짜 - 시간의 수업을 java.util.Date
, Calendar
, SimpleDateFormat
.
Joda 타임 프로젝트는 지금에 유지 관리 모드 의로 마이그레이션을 조언 java.time의 클래스.
자세한 내용은 Oracle Tutorial을 참조하십시오 . 그리고 많은 예제와 설명을 위해 Stack Overflow를 검색하십시오. 사양은 JSR 310 입니다.
java.time 클래스는 어디서 구할 수 있습니까?