내가, 내가 날짜를 가지고 간단한 운동을 할 그 90 일을 추가하고,이 같은 뭔가를 포맷하려고 :해 GregorianCalendar와 DateFormat의 자바
년 4 월 20 일 월요일 1998 년
GregorianCalendar
및 DateFormat
을 사용하여이 작업을 수행합니다. 지금까지,이 컴파일 코드를 가지고 있지만, 나는 주어진 Object
Date
으로 포맷 할 수 없습니다 런타임 오류 얻을 :
import java.util.*;
import java.text.*;
class Assignment21 {
public static void main(String args[]) {
GregorianCalendar ddate = new GregorianCalendar(1994, 10, 20);
ddate.add(Calendar.DAY_OF_MONTH, 90);
SimpleDateFormat sdf = new SimpleDateFormat("EEE, MM dd, yyyy");
String date = sdf.format(ddate);
}
}
어떻게 정확하게 출력 미리 정의 된 GregorianCalendar
날짜가 DateFormat
를 사용 할 수 있습니다?
'SimpleDateFormat'에는'Calendar' 매개 변수를 취하는'format' 메소드가 없습니다. – Berger
DateFormat을 사용해야합니까? – JMV12
캘린더 API에서 1 월은 0으로 인덱싱되며 (1 월은 '0'), 10 월은 실제로 11 월입니다. (알고 계시면 확실하지 않지만 어쨌든주의해야합니다) . 2 - 1998 년 4 월 20 일 월요일의 형식을 정확하게 취득하기 위해서는,'new SimpleDateFormat ("EEEE, MMMM dd, yyyy", Locale.US)'를 사용해야합니다.'java.util.Locale'은 언어 설정하지 않으면 JVM 기본값이 사용되며 항상 영어가 보장되지는 않습니다. 3 가능한 경우 - 새로운 java.time API를 선호합니다. [@Basil Bourque의 답변] (https://stackoverflow.com/a/46408956/7605325)에서 설명합니다. –