2012-10-17 4 views
0

이 코드가 제공하는대로 현재 시간을 얻는 방법 (시간 -> 2009 년 1 월 1 일 05:56:27 ACT 1970) ??현재 시간/날짜 코드 오류

DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss.SS"); 
     Date time = new Date(); 
     String currentTime=timeFormat.format(time); 
     time=timeFormat.parse(currentTime); 
     System.out.println("Time-->"+time); 
     salesOrder.setOrderTime(time); 
+0

사용 DateFormat timeFormat = new SimpleDateFormat(); DateFormat 대신에 timeFormat = new SimpleDateFormat ("HH : MM : ss : SS"); – Jimmy

+0

* 정확하게 * 당신이 문제가 있다고 생각합니까? –

+0

포맷팅에 문제가 있습니다. 그는 일, 년 지정자를 제공하지 않았습니다. 왜 그런 식으로 행동하는지. 아니면 OP 적절한 형식으로이 사용할 수 있습니다 : DateFormat timeFormat = new SimpleDateFormat ("EEE, d MMM yyyy HH : mm : ss Z"); – Jimmy

답변

0
use DateFormat timeFormat = new SimpleDateFormat(); 

는 형식입니다. 당신은 Day, year fieldr를 제공하지 않았습니다, 그것이 왜 그런 식으로 행동하는지. 또는 당신은 적절한 서식이를 사용할 수 있습니다

DateFormat timeFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"); 

편집 :

이 시도 : Calendar object에서 time 집합하여 SimpleDateFormat을 사용하여/분석 포맷되지 않은 시간

Calendar c = Calendar.getInstance(); 
    c.setTime(time); 
    System.out.println(c.get(Calendar.YEAR)+ " "+c.get(Calendar.MONTH)+ " "+ c.get(Calendar.DAY_OF_MONTH)); 

. calendar object에서 개인 월, 일, 년을 구하여 원하는 방식으로 사용하거나 c.getTime()으로 전화하여 Date object을 얻을 수 있습니다.

+0

별도의 날짜와 별도 시간이 필요합니까?어떻게 내가 그들을 얻을거야, 내 말은, 나는 데이터베이스에 하나의 날짜와 다른 하나를위한 두개의 분리 된 컬럼을 가지고있다. My Bean은 데이터베이스와 함께 최대 절전 모드를 사용하여 맵핑되고 나는 데이터베이스 타입과 같은 날짜 타입의 오브젝트를 필요로한다. 날짜에 대한 (날짜 유형) 및 데이터베이스에있는 시간에 대한 (시간 유형)을 갖게되어 귀하가 말한 형식이 날짜 및 시간을 포함한 전체 문자열을 생성합니까? 데이터베이스에서 서로 다른 coloumns에 저장하기 위해 어떻게 분리합니까? – Hasan

+0

답변이 수정되었습니다. 확인하십시오. – Jimmy

1

클래스 java.util.Date은 시간 대별 (시간, 분, 초, 밀리 초)를 저장하기에 적합하지 않다. 클래스 Date은 타임 스탬프이며, 01-01-1970, 00:00:00 GMT 이후로 밀리 초가 포함됩니다.

대신 Joda Time 라이브러리의 LocalTime을 사용하십시오.

참고 : 코드에서 뭐 먼저 StringDate 객체를 포맷 한 다음, 다시 다시 Date에 파싱 일, 월, 연도 부분을 멀리 던지고있다. 결과적으로 Date 개체는 01-01-1970, 00:00:00 GMT 이후 시간, 분, 초 및 밀리 초 수로 설정됩니다.

+0

Jesper, 데이터베이스에 두 개의 개별 열이 있고, 하나는 날짜이고 다른 하나는 시간입니다. My Bean은 최대 절전 모드를 사용하여 매핑되며 데이터베이스의 날짜 유형 객체가 필요합니다. 날짜 (Date type) 및 날짜 시간 유형). 그 조다 타임 라이브러리를 어떻게 사용하는지 모르겠다. – Hasan

0

형식에는 시간과 분 및 초만 포함됩니다. 날짜 구성 요소가없는 시간 만 주어진다면 DateFormat.parse()은 현재 날짜를 채우지 않습니다. 그것은 1970 년 1 월 1 일인 "시간 제로"라는 시스템의 시대에 해당합니다. Date 객체로 되돌릴 수있는 날짜 문자열을 원하면 연도와 월, 일을 포함시켜야합니다 시간으로. 대신

DateFormat timeFormat = new SimpleDateFormat("HH:MM:ss:SS"); 

문제의

+0

데이터베이스에 두 개의 개별 열이 있고, 하나는 날짜 용이고 다른 하나는 시간입니다. My Bean은 데이터베이스와 함께 최대 절전 모드를 사용하여 매핑되며 데이터베이스 개체는 날짜 유형의 개체가 필요합니다. 날짜 및 날짜 유형이 필요합니다. (시간 유형). 나는 각각의 세터 (Setter 's)에 그들을 저장하기 위해 시간과 날짜를 따로 구하는 방법을 모른다. – Hasan