2016-07-24 114 views
0

我想將日期和時間變量合併到Stata中的日期/時間變量中。在Stata中結合日期和時間變量

假設date = 23jun2015time = 31dec1899 11:23:00並假設我想創建一個新變量datetime= 23jun2015 11:23:00

date格式爲%tdNN/DD/CCYYtime格式爲%tcHH:MM:SS

我曾嘗試下面的代碼

gen double datetime = date*24*60*60*1000 + time 
format datetime %tcNN/DD/CCYY_HH:MM:SS 

然而,不知何故,我得到以下結果(當年是錯誤的):

23jun1955 11:23:00 

任何想法如何改變這一點,以獲得正確的一年?

謝謝!

回答

1

以下內容應該指向正確的方向。

clear 
set obs 1 
generate date = daily("23jun2015","DMY") 
generate double time = clock("31dec1899 11:23:00","DMY hms") 
format date %tdNN/DD/CCYY 
format time %tcHH:MM:SS 

generate double datetime = dhms(date,hh(time),mm(time),ss(time)) 
format datetime %tcNN/DD/CCYY_HH:MM:SS 

list 

如果您還沒有這樣做的話,你將要審查help datetime,這是毫無疑問我的系統上訪問量最大的文檔,與第二訪問量最大的是第24章(使用日期和時間)Stata用戶指南 PDF可從Stata幫助菜單中的PDF文檔項獲得。在使用日期和時間之前,任何Stata用戶都應該仔細閱讀非常詳細的第24章。之後,幫助日期時間文檔通常足以指明方向。有些人可能能夠記住所有的東西,而不必一直參考文檔,但我不是這樣的人。