Global 환경의 Timezone을 고려한 개발 관련 사항들.. :: 소림사의 홍반장!



참고

  • 날짜 데이터 연산의 달인기술을 전수하기 (1) - http://staropener.tistory.com/451
  • 날짜 데이터 연산의 달인기술을 전수하기 (2) - http://staropener.tistory.com/452
  • 날짜 데이터 연산의 달인기술을 전수하기 (3) - http://staropener.tistory.com/453
  • Java에서 표준시(Global Time)와 지방시(Local time)를 상호 변경하는 함수 - http://blog.acronym.co.kr/archive/20120718
  • 다국어, 국제화 웹 사이트 개발시 고려사항 - http://jace.tistory.com/121
  • Global 환경에서 프로그래밍 하기 - Time Zone 이야기 - http://www.smartplace.kr/blog_post_332.aspx





참고 소스

/**

* 서버시간인 서울 타임존을 기준으로 각 타임존에 맞는 시간으로 포맷 변경하여 출력함. 

* @param time 변경 대상 시간

* @param format 시간 포맷

* @param offset 변경할 타임존 offset (분) - sso연동시 분 단위로 값을 넘겨받음 (TIMEZONE = +540)

* @return

*/

public static String getTimeWithTimezone(String time, String format, String offset) {

String result = "";

try {

if( !offset.equals("+540") ) { // 서울 시간이 아닌경우에만 로직 수행

int timezoneOffset = Integer.parseInt(offset.replace("+", ""));

TimeZone seoulTZ=TimeZone.getTimeZone("Asia/Seoul");

SimpleTimeZone outputTz = new SimpleTimeZone( timezoneOffset * 60 * 1000, "GMT"); // 출력하고자 하는 Timezone 으로 변환

SimpleDateFormat inputFmt = new SimpleDateFormat(format + " Z");

SimpleDateFormat outputFmt = new SimpleDateFormat(format);

Calendar c = Calendar.getInstance(seoulTZ);

c.setTime( inputFmt.parse( time + " +0900" ) ); // 서버시간인 서울시간 기준으로 입력

outputFmt.setTimeZone(outputTz);

result = outputFmt.format(c.getTime());

}else{

result = time;

}

} catch (Exception e) {

// System.out.println("getTimeWithTimezone 오류 발생 : "+e.getMessage());

result = time;

}

// System.out.println("타임존 offset : "+offset);

// System.out.println("입력된 시간 : "+time);

// System.out.println("변환 시간 :"+ result);

return result;

}

다른 카테고리의 글 목록

Dev. 참고자료 카테고리의 포스트를 톺아봅니다