2009-07-31 12 views
3

문자열을 날짜로 변환하는 데 다음 코드를 사용했지만 변환 중에 장치의 시간대가 적용됩니다.
나는이 필요하지 않습니다하지만, 정확히 문제가 무엇Blackberry Java 날짜 변환 문자열

String = "2009-07-31 07:59:17.427" 
Date = 2009-07-31 07:59:17.427 

Date formatter = new Date(HttpDateParser.parse("2009-07-31 07:59:17.427")); 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 
String strCustomDateTime = dateFormat.format(formatter); 

답변

1

같은 해당 문자열에서 같은 날짜/시간을 줄까? "2009-07-31 07 : 59 : 17.427"을 특정 시점으로 변환하려고 시도하지만 시간대없이 시간의 고유 한 시점을 지정하지는 않습니다. 따라서 시간대가 필요하며 라이브러리는 플랫폼의 현재 시간대를 선택해야합니다. 문제가 다른 시간대를 지정하고자하는 경우

, 다음) DateFormat.setTimeZone을 (전화 :

format.setTimeZone(TimeZone.getTimeZone("your time zone")); 
+0

Blackberry의 setTimeZone 메소드에 오류가 발생합니다. 난 그냥 날짜 형식으로 문자열 형식으로 날짜 표현을 얻고 싶습니다. – Neo

6

당신은 지금까지 오프셋 계정의 기본 시간대에 걸릴 수 있습니다 당신은 구문 분석 후 얻을 :

public static String StringToDate(String dateToParse) { 

    Date formatter = new Date(HttpDateParser.parse(dateToParse)); 
    SimpleDateFormat dateFormat = new SimpleDateFormat(
      "yyyy-MM-dd HH:mm:ss.SSS"); 
    int offset = TimeZone.getDefault().getRawOffset(); 
    formatter.setTime(formatter.getTime() + offset); 
    String strCustomDateTime = dateFormat.format(formatter); 
    return strCustomDateTime; 
}