2014-09-20 4 views
0

안녕하세요, 일부 요구 사항 때문에 날짜 형식의 문자열 표현을 날짜 개체로 변환하고 특정 형식의 문자열로 다시 변환해야합니다.문자열을 날짜로 변환하고 날짜를 문자열로 다시 변환합니다.

이것은 내가 지금까지 시도한 것이고 출력은 예상대로 나오지 않고 08140009와 같은 것을 인쇄하고있다 - 무엇이 무엇이겠습니까

그리고 제안 사항을 제공해주십시오.

내 코드는 다음과 같습니다

public String getDateBackToCST(String createDate){ 

    SimpleDateFormat dateFormatter = new SimpleDateFormat("MMddyyyy"); 
    TimeZone obj = TimeZone.getTimeZone("CST"); 
    dateFormatter.setTimeZone(obj); 
    Date createdDate = null; 

    try { 
     createdDate = dateFormatter.parse(createDate); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    return dateFormatter.format(createdDate); 
} 
+0

같은 일 이름을 사용 E을 지정하는 두 가지 옵션이 있습니다? –

+0

2014-09-14 다른 형식을 가지고 있거나 날짜 문자열이 될 수 있습니다. –

+0

Sat Sep 20 23:39:04 IST 2014 –

답변

0

당신은 SimpleDateFormat에 대한 구체적인 적절한 플래그를해야합니다. 당신은 시간대 zZ를 지정하고`createDate`의 값이 무엇이

import java.text.ParseException; 
import java.text.SimpleDateFormat; 

public class Main { 



    public static void main(String[] args) throws ParseException { 

     String date = "Sat Sep 20 23:39:04 IST 2014 "; 
     SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy"); 
     System.out.println(sdf.parse(date)); 

    } 
} 
+0

네, 맞습니다만, 구문 분석 메소드를 호출 할 때마다 타임 존 정보가 풀릴 것입니다. Date 객체에는 포함되지 않습니다. 반환 된 문자열을 중부 표준시 시간대로 설정합니다. –

+0

@manjunathacitragar 날짜 객체는 절대 시간대와 연결되지 않습니다. – SparkOn

+0

예. 동의합니다 .. 함수에 전달 된 문자열 createDate는 CST 시간대에 있으며, 구문 분석하고 다시 형식화합니다. 그것이 CST 표준 시간대에만 있기를 원합니다. –

관련 문제