在Stata中组合日期和时间变量

时间:2016-07-24 17:14:39

标签: date datetime 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 个答案:

答案 0 :(得分: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章(使用日期和时间)用户指南 PDF可从Stata帮助菜单上的PDF文档项目获得。在处理日期和时间之前,任何Stata用户都应该仔细阅读详细的第24章。之后,帮助日期时间文档通常足以指明方向。有些人可能能够记住一切而不必不断地参考文档,但我不是一个人。