2014-06-19 7 views
-4

문자열을 Java의 표준 시간대 형식으로 변환하는 방법. 문자열을 표준 시간대 형식으로 변환하려하지만 항상 IST 형식을 사용하고 있습니다.문자열을 Java에서 표준 시간대 형식으로 변환하는 방법

TimeZone tz = TimeZone.getTimeZone("US/Alaska"); 
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z"); 

String date="Sun, 9 Mar 2014 02:00:00 EST"; 

Date d = null; 
try { 
    d = sdf.parse(date); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
System.out.println("date is"+d); 
boolean inDs = tz.inDaylightTime(d); 
System.out.println("inDs"+inDs); 

날짜를 대신 날짜 Mar 09 12:30:00 IST 2014

+0

를 사용하는 코드는 java.text.ParseException'던졌습니다 : 파싱 할 일 "2014년 (일) 동부 표준시 02시 00분 0초 3월 9일을 ". –

+0

바깥 쪽을 올바르게 표시 한 다음 게시하십시오. – Nitul

+0

@Nitul은 문제가 무엇인지 알 수 있습니까? – mohan

답변

0

를 사용하여 달력을 인쇄하는 동안. 날짜를 달력으로 변환하고 날짜로 다시 변환하는 다음 방법은 효율적이지 않습니다. 당신은 일, 월, 년 등을 별도로 얻을 수 있다면, 그것의 더 나은 cal.set()

TimeZone tz = TimeZone.getTimeZone("US/Alaska"); 
    SimpleDateFormat sdf = new SimpleDateFormat(
      "EEE, d MMM yyyy HH:mm:ss z"); 

    String date = "Sun, 9 Mar 2014 02:00:00 EST"; 

    Date d = null; 
    try { 
     Calendar cal = Calendar.getInstance(); 
     cal.setTime(sdf.parse(date)); 
     cal.setTimeZone(tz); 
     System.out.println("date is " + cal.getTime()); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
관련 문제