我正在尝试将日期和时间变量合并为Stata中的日期/时间变量。
假设date = 23jun2015
和time = 31dec1899 11:23:00
,并且假设我想要创建一个新的变量datetime= 23jun2015 11:23:00
。
date
的格式为%tdNN/DD/CCYY
,time
的格式为%tcHH:MM:SS
我已经尝试了以下代码
gen double datetime = date*24*60*60*1000 + time
format datetime %tcNN/DD/CCYY_HH:MM:SS
然而,不知何故,我得到了以下结果(年份错误):
23jun1955 11:23:00
有什么想法我可以改变这一点以获得正确的年份吗?
谢谢!
以下内容应该为您指明正确的方向。
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
,它无疑是我系统上访问量最大的文档,访问量第二大的文档是Stata用户指南PDF的第24章(使用日期和时间),可从Stata的"帮助"菜单上的"PDF文档"项获得。在使用日期和时间之前,任何Stata用户都应该彻底阅读非常详细的第24章。在那之后,帮助日期时间文档通常足以指明方向。有些人可能不需要不断地查阅文档就能记住所有内容,但我就不是这样的人。