计算活动的结束时间

时间:2016-07-15 16:31:10

标签: stata

我有%tc格式的手术开始时间(new_time),我也有几分钟的手术时间(th_time)(例如140分钟)和未格式化。

我想知道如何继续将th_time添加到new_time以获得手术的结束时间。

这是我到目前为止格式化我的变量:

gen time_temp = substr(intotheatre, strpos(intotheatre," ")+1, . )
gen new_time = clock(intotheatre, "DMY hms",2050)
format new_time %tc 

generate hrs=hh(new_time)
generate mins=mm(new_time)
generate secs=ss(new_time)

drop if th_time < 0 | th_time == .
drop if theatre==""

sort theatre new_time 

我已经阅读过Nick Cox的Stata Journals,但我尝试生成end_time的每一次尝试最终都是以&#39; type mismatch&#39;来自Stata。

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:3)

如果您还没有这样做,那么通过help datetime中的指导工作将会对您有所帮助,毫无疑问,这是我系统中访问量最大的文档,其中访问次数最多的是可以从Stata帮助菜单上的PDF文档项目中获取 Stata用户指南 PDF的第24章(使用日期和时间)。在处理日期和时间之前,任何Stata用户都应该仔细阅读详细的第24章。在那之后,帮助文档通常足以指明方向。有些人可能能够记住一切而不必不断地参考文档,但我不是一个人。

话虽如此,您的new_time变量应该创建为double

generate double new_time = clock(intotheatre, "DMY hms",2050)

正如所引用的文件和Nick Cox所建议的那样。您现在将new_time表示为自1960年1月1日以来的毫秒数。然后将影院时间从几分钟转换为毫秒并添加

generate double end_time = new_time + ( th_time * 60 * 1000 )
format end_time %tc

应该给你你想要的东西。