GregorianCalendar 클래스 관련 질문입니다.
별하
import java.util.*;
import java.text.*;
public class calenderex {
public static void main(string args[]) {
for(string name : timezone.getavailableids())
system.out.println(name);
system.out.println();
gregoriancalendar calendar = new gregoriancalendar();
simpledateformat dateformat = new simpledateformat(yyyy년 mm월 dd일 e요일 aa hh시 mm분 ss초);
dateformat.settimezone(timezone.gettimezone(europe/paris));
string str1 = dateformat.format(calendar.gettime());
system.out.println(파리 : + str1);
dateformat.settimezone(timezone.gettimezone(europe/rondon));
string str2 = dateformat.format(calendar.gettime());
system.out.println(런던 : + str2);
dateformat.settimezone(timezone.gettimezone(asia/seoul));
string str3 = dateformat.format(calendar.gettime());
system.out.println(서울 : + str3);
}
}
특별한 오류는 없습니다.
calendar 클래스를 공부하면서 프로그램을 만들어 보는 중에 궁금증이 생겨 질문합니다.
일단 timezone 설정이 가능한 지역을 한번 쭉 출력했구요.
파리, 런던, 서울에 timezone을 맞춰서 현재 시간을 출력해 봤습니다.
그런데..만들고 보니 시간을 출력하는 부분에 중복되는 코드가 많아서그 부분을 메소드로 구현해 보려고하는데
잘 되질 않네요. (코드의 19~29라인)
이 부분을 어떻게 하면 메소드로 묶을 수 있는지 조언을 부탁드립니다..
감사합니다.
-
장미
정말 많은 도움이 되었습니다. 친절하게 답변해 주셔서 감사합니다~!
-
초코홀릭
그리고 null로 먼저 선언하고 하는 것은 뭐 ㅡ_ ㅡ 제 코딩스탈이라고 할까요;; ㅎㅎ;;
-
하예
혹시라도 프로그래머가 timezone을 잘못입력한다거나.. 지원하지 않는 format을 입력한다면..
오류가 발생하겠죠^^?? -
우시
답변 주신 두분 정말 감사합니다! 말씀하신대로 했더니 잘 처리가 되네요..
근데 수다님 답변에서 calendar와 dateformat 객체를 null로 생성하고 try문에서 다시 초기화해주는 이유가 따로 있는지 궁금하네요..? try문을 사용하신 이유를 알려주시면 감사하겠습니다. (여기서 어떤 예외가 나오게 되나요?) -
다옴
public static String getTimeZoneFormat(String format, String timezone) {
\t\tGregorianCalendar calendar = null;
\t\tSimpleDateFormat dateFormat = null;
\t\ttry {
\t\t\tcalendar = new GregorianCalendar();
\t\t\tdateFormat = new SimpleDateFormat(format);
\t -
옆집오빠야
아규먼트 값을 2개 받아
dateFormat.setTimeZone(TimeZone.getTimeZone(\Asia/Seoul\));
String str3 = dateFormat.format(calendar.getTime());
요 부분을 처리하여 String값을 리턴하는 녀석으로 하시면 되겠군요.