1. 程式人生 > 其它 >將包含日期的字串變數更改為日期格式~根據上市日期生成上市年齡

將包含日期的字串變數更改為日期格式~根據上市日期生成上市年齡

v1變數中的資料如下所示:
YYYY-MM-DD

點選檢視程式碼
generate v2 = date(v1, "YMD")
format %td v2

YMD稱為掩碼,它告訴Stata指定日期部分的順序。第二行將為變數分配Stata每日日期格式,這意味著當您檢視資料中的該變數時,它將以人類可讀的形式顯示。但是,日期儲存為1960年1月1日以來的天數。

生成上市年齡:

必須的命令分解開來只有三行
gen listdt = date(Listdt, "YMD")  //date函式。這行字串轉日期的命令必須有。
format %td listdt    //即使沒有這行人類可讀format命令,也不影響下一行的計算。或者是  format  listdt %td  ,沒有區別。
gen fye=mdy(12,31,year) //financial year ended 財務年度結束的日期 
format fye %d //把fye距1960年1月1日以來的天數轉換為那天的日期。即使沒有這行人類可讀format命令,也不影響下一行的計算。
gen listage=(fye-listdt)/365

format %td x =format x %td=format %d x =format x %d