GregorianCalendar 상수 날짜
-
06-07-2019 - |
문제
좋아, 내 프로그램을 인쇄하고 데이트를 인쇄하고 싶다 : 1/1/2009
그러나 이것이 다음과 같은 인쇄입니다.
Thu 1 월 01 00:00:00 2009
이 코드에서
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
startDate.setLenient(false);
Date date = new Date(startDate.getTimeInMillis());
System.out.println(date);
}
2009 년 1 월 1 일에만 인쇄되도록하려면 어떻게 변경할 수 있습니까?
해결책
사용 SimpleDateFormat
:
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart() {
startDate.setLenient(false);
DateFormat df = new SimpleDateFormat("d/M/yyyy");
df.format(startDate.getDate());
}
당신은 암시 적으로 전화합니다 toString()
전체 내용을 (올바르게) 인쇄하는 방법.
그건 그렇고, 당신이하는 방식으로 날짜를 만들 필요가 없습니다. 부름 getDate()
a Calendar
반환 a Date
물체.
다른 팁
현재 Date.toString()
메소드가 표시되도록 요청됩니다 String
표현 GregorianCalendar
사례.
해야 할 일은 a를 만드는 것입니다 DateFormat
a String
원하는 표현. 그만큼 DateFormat
객체를 사용하여 포맷 할 수 있습니다 Date
인스턴스를 사용하여 원하는 형식의 인스턴스 format
방법.
원하는 것을 달성하는 가장 간단한 방법은 SimpleDateFormat
클래스는 a 형식 문자열을 취하는 생성자 출력 Date
원하는 형태로.
Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));
산출
1/1/2009
제휴하지 않습니다 StackOverflow