자바에서 요일을 표시하는 날짜 형식이 있습니까?


128


"yyyy-mm-dd"-날짜를 형식으로 2011-02-26
"yyyy-MMM-dd"표시-날짜를 형식으로 표시하는 날짜 형식 을 알고 있습니다.2011-FEB-26

예 :

SimpleDateFormat formatter = new SimpleDateFormat(
                "yyyy/MMM/dd ");

요일을 표시하는 데 도움이되는 형식을 원합니다 2011-02-MON. 요일이 월과 연도로 문자로 표시되기를 원합니다. 이런 형식에 대해 말씀해 주시겠습니까?


1
dd형식으로 사용하는 것은 어떻습니까?
Johan Sjöberg

3
API 문서 ( download.oracle.com/javase/1.4.2/docs/api/java/text/… )가 기꺼이 답변 해 드릴 것입니다.
M. Jessup

1
"일"이란 무엇을 의미합니까-요일, 요일. 귀하의 예에서는 전체 날짜가 표시됩니다. 원하는 정확한 입력과 출력을 보여주세요.
Bozho

2
일반적으로 -ISO 형식 (예 : 년-월-일)의 날짜에만 표기법을 사용하는 것이 좋습니다 . 이 시점에서 다른 날짜 형식에 사용되지 이후 대시 피하기 혼란,이 선출되었고, 지금은 모두가 ... 대시와 함께 자신의 사용자 정의 순서를 사용
파울로 Ebermann을

답변:


322

'화'가 표시되어야합니다.

new SimpleDateFormat("EEE").format(new Date());

'화요일'이 표시되어야합니다.

new SimpleDateFormat("EEEE").format(new Date());

'T'가 표시되어야합니다.

new SimpleDateFormat("EEEEE").format(new Date());

따라서 구체적인 예는 다음과 같습니다.

new SimpleDateFormat("yyyy-MM-EEE").format(new Date());

5
아름다운 솔루션! 내가 찾고 있던 것은 : 월요일, 04/04/2016. 그래서 제 경우 new SimpleDateFormat("EEEE, dd/MM/yyyy");에는 미래에 누군가에게 도움이된다면 요.
AuroMetal

1
네, 작동합니다. EEEE디스플레이 요일의 전체 이름 - 즉, '월요일', '화요일'등
kosiara - 바르 토스 Kosarzycki

나는이 사이트가 주변에있을 것이라고 실제로 생각하지 않았으며 Java는 마침내 Date에 보석을 남길 것입니다. 기술적으로 OP 질문에 답합니다. 그러나, 나는 아마 어떻게 새로운 java.time 물건 작품에 대한 새로운 섹션을 추가 할 수 있습니다
나단 Feger


4
SimpleDateFormat sdf=new SimpleDateFormat("EEE");

EEE는 요일을 나타냅니다. 예를 들어 목요일은 Thu로 표시됩니다.



3

tl; dr

LocalDate.of( 2018 , Month.JANUARY , 23 )
         .format( DateTimeFormatter.ofPattern( uuuu-MM-EEE , Locale.US )  )

java.time

현대적인 접근 방식은 java.time 클래스를 사용합니다.

LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;

우리가 지정하는 방법을 참고 Locale등을 Locale.CANADA_FRENCH하루의 이름을 변환하는 데 사용 인간의 언어를 결정합니다.

DateTimeFormatter f = DateTimeFormatter.ofPattern( uuuu-MM-EEE , Locale.US ) ;
String output = ld.format( f ) ;

ISO 8601

그건 그렇고, 당신은 표준 ISO 8601 주 번호 체계에 관심이있을 것 yyyy-Www-d입니다.

2018-W01-2

1 주차에는 역년의 첫 번째 목요일이 있습니다. 주는 월요일에 시작됩니다. 1 년에는 52 주 또는 53 주가 있습니다. 역년의 마지막 / 처음 며칠은 다음 / 이전 주 기반 연도에 도착할 수 있습니다.

끝의 한 자리는 요일이며 월요일-일요일은 1-7입니다.

추가 ThreeTen-추가 을위한 프로젝트에 라이브러리 클래스를 YearWeek클래스입니다.


java.time 정보

java.time의 프레임 워크는 나중에 자바 8에 내장되어 있습니다. 이 클래스는 까다로운 기존에 대신 기존 과 같은 날짜 - 시간의 수업을 java.util.Date, Calendar, SimpleDateFormat.

Joda 타임 프로젝트는 지금에 유지 관리 모드 의로 마이그레이션을 조언 java.time의 클래스.

자세한 내용은 Oracle Tutorial을 참조하십시오 . 그리고 많은 예제와 설명을 위해 Stack Overflow를 검색하십시오. 사양은 JSR 310 입니다.

java.time 클래스는 어디서 구할 수 있습니까?

ThreeTen - 추가 프로젝트 추가 클래스와 java.time를 확장합니다. 이 프로젝트는 java.time에 향후 추가 할 수있는 가능성을 입증하는 곳입니다. 당신은 여기에 몇 가지 유용한 클래스와 같은 찾을 수 있습니다 Interval, YearWeek, YearQuarter, 그리고 .


2

질문은 요일을 문자열 (예 : 짧은 이름)로 가져 오는 것에 관한 것이라는 것을 알고 있지만 숫자 요일을 찾는 사람은 (예전처럼) 지원되는 새로운 "u"형식 문자열을 사용할 수 있습니다. Java 7부터 예를 들면 다음과 같습니다.

new SimpleDateFormat("u").format(new Date());

오늘의 요일 인덱스를 반환합니다. 즉, 1 = 월요일, 2 = 화요일, ..., 7 = 일요일입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.