programing

Date 객체를 달력 객체로 변환

new-time 2020. 5. 17. 21:58
반응형

Date 객체를 달력 객체로 변환 [중복]


이 질문에는 이미 답변이 있습니다.

그래서 들어오는 객체에서 날짜 속성을 다음 형식으로 얻습니다.

Tue May 24 05:05:16 EDT 2011

캘린더 메소드로 변환하는 간단한 도우미 메소드를 작성 중이며 다음 코드를 사용하고 있습니다.

    public static Calendar DateToCalendar(Date date ) 
{ 
 Calendar cal = null;
 try {   
  DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  date = (Date)formatter.parse(date.toString()); 
  cal=Calendar.getInstance();
  cal.setTime(date);
  }
  catch (ParseException e)
  {
      System.out.println("Exception :"+e);  
  }  
  return cal;
 }

들어오는 객체를 시뮬레이트하기 위해 현재 사용중인 코드 내에서 값을 지정하고 있습니다.

private Date m_lastActivityDate = new Date();

그러나 일단 메소드가 도달하면 null 포인터를 얻습니다.

date = (Date)formatter.parse(date.toString()); 

방법은 다음과 같습니다.

public static Calendar toCalendar(Date date){ 
  Calendar cal = Calendar.getInstance();
  cal.setTime(date);
  return cal;
}

당신이하고있는 모든 것은 잘못과 불필요합니다.BTW, Java 이름 지정 규칙은 메소드 이름이 소문자로 시작하도록 제안하므로 다음 과 같이합니다 (

dateToCalendar

또는

toCalendar

표시됨).


자, 코드를 작성해 봅시다.

DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
date = (Date)formatter.parse(date.toString()); 

DateFormat

문자열을 날짜 (

parse()

) 로 변환 하거나 날짜를 문자열 (

format()

) 로 변환하는 데 사용됩니다 . 날짜의 문자열 표현을 다시 날짜로 구문 분석하는 데 사용합니다. 이 말이 맞지 않습니까?


그냥 Apache Commons를 사용하십시오

DateUtils.toCalendar (날짜)


너무 쉽습니다 ... 날짜를 다음과 같이 달력으로 변환하십시오.

Calendar cal=Calendar.getInstance();
DateFormat format=new SimpleDateFormat("yyyy/mm/dd");
format.format(date);
cal=format.getCalendar();

참고 URL :

https://stackoverflow.com/questions/6185966/converting-a-date-object-to-a-calendar-object

반응형