2017-03-01 2 views
1

데이터 내보내기 후 "2017/02/22 1320 : 35 +000 4"문자열 변수가 나타납니다.SPSS에서 시간을 hhmm : ss에서 hh : mm : ss (TIME8)로 변환합니다.

을 통해 :

compute #TS = char.index(Timestamp_1, " "). 
string date (A10). 
compute date = char.substr(Timestamp_1,1,#TS). 
alter type date (A10 = SDATE10). 

나는 별도의 변수에 날짜를 얻을 관리 할 수 ​​있습니다. 형식

같은

: 그것은 'SS HHMM'에 있기 때문에
string time (A8). 
compute time = char.substr(Timestamp_2,#TS+1,7). 
alter type time (A8 = TIME8). 

시간 작동하지 않습니다. '1320 : 35'문자열 변수를 '13 : 20 : 35 '시간 변수로 어떻게 변경합니까?

답변

0

형식을 변경하기 전에 concat 함수를 사용하여 시간 문자열에 수동으로 ":"를 삽입 할 수 있습니다. 개별적으로 타임 스탬프 변수에서 시간, 분, 초를 추출하고 TIME.HMS 함수 내에서 이러한 요소를 사용하는

COMPUTE time = CONCAT(CHAR.SUBSTR(time,1,2),":",(CHAR.SUBSTR(time,3))). 

또 다른 방법은 다음과 같습니다 V24의 새로운

COMPUTE #hh = NUMBER(CHAR.SUBSTR(Timestamp_1,TS+1,2),F2). 
COMPUTE #mm = NUMBER(CHAR.SUBSTR(Timestamp_1,TS+3,2),F2). 
COMPUTE #ss = NUMBER(CHAR.SUBSTR(Timestamp_1,TS+6,2),F2). 

COMPUTE time = TIME.HMS(#hh,#mm,#ss). 
EXECUTE. 

FORMATS time (TIME8). 
+0

감사합니다. 이 입력으로 앞으로 나아갈 수 있습니다! – Larissa

+0

안녕하세요, @Larissa 만약이 질문이나 미래의 답변이 당신의 질문을 해결했다면, (동의 함) (http://meta.stackexchange.com/q/5234/179419) 체크 표시를 클릭하십시오. 이는 해결책을 찾았으며 응답자와 자신에게 어느 정도의 평판을 제공한다는 것을 더 넓은 커뮤니티에 나타냅니다. 이를 수행 할 의무는 없습니다. – mirirai

0

통계가있는 날짜 형식을, ISO 8601 타임 스탬프 형식, YMDHMS 문자열이 일반 날짜/시간 값으로 변환되면 XDATE.DATE 및 XDATE.TIME 함수를 사용하여 조각을 추출 할 수 있습니다. 날짜 및 시간 마법사는 사용자가 가지고있는 형식을 수용 할 수 있습니다 (끝에 + 4000 4 부분은 확실하지 않음).

관련 문제