2017-03-01 78 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). 

我設法得到一個單獨的變量的日期。

相同:

string time (A8). 
compute time = char.substr(Timestamp_2,#TS+1,7). 
alter type time (A8 = TIME8). 

不適合工作的時候,因爲它是在 'HHMM:SS' 格式。如何將字符串變量'1320:35'更改爲時間變量'13:20:35'?

回答

0

在更改類型之前,可以使用concat函數手動將「:」手動插入到時間字符串中。

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

另一種方法是單獨地提取小時,從時間戳可變分鐘和秒,並使用TIME.HMS函數內這些元件:在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函數來提取塊。日期和時間嚮導可以適應您的格式(不確定最後的+000 4部分)。

相關問題