如何将导入的日期变量转换为Stata中的原始格式?
我的原始日期变量是这样的19jun2015 16:52:04
。导入后,它看起来像这样:1.77065e+12
如何将导入的日期变量转换为Stata中的原始格式?
新引进的变量的存储类型为str11
和显示格式是%11s
我不知道我可以把它恢复回日期格式?
William Lisowski在他的评论中给出了很好的建议。对于任何在Stata中使用日期时间的人来说,只有最低程度的理解,否则混淆和彻底的错误是不可避免的。只有研究help
以便您了解您的具体需求才能解决您的难题。
问题中缺乏细节,使得精确的建议非常困难(从哪种文件导入 - 使用哪些命令和/或第三方程序?),除非诊断您的日期已经搞乱并且只能通过回到原始来源来纠正。
日期字符串,如"19jun2015 16:52:04"
可以在Stata举行为字符串,但是要他们需要被转换成其持有的毫秒数自1960年今年年初double
数字变量是一个数字,人们无法解释有用的,但Stata提供显示格式,以便显示的日期可以理解。
你的例子是当转换为一兆的数量的数量,但如果作为一个字符串保存,只有6位有效数字,至少失去了详细的细节。
这些个别的例子使我的观点具体。 di
是display
命令的缩写。
clock()
(还有Clock()
,未在此处显示或讨论:请参阅help
)将字符串日期转换为自Stata起源以来的毫秒。有了一个变量,你可以使用generate double
。
. di %23.0f clock("19jun2015 16:52:04", "DMY hms")
1750351924000
如果以特定的格式显示出来,你可以检查Stata的正确解释您的日期时间。默认的%tc
格式也有很多小的变化来控制日期时间元素的精确显示。
. di %tc clock("19jun2015 16:52:04", "DMY hms")
19jun2015 16:52:04
第一个例子显示,即使日期时间,这是最近的日期(〜2016),并在整数秒需要10个显著数字是准确;默认显示为4;不知何故,你有6,但这还不够。
. di clock("19jun2015 16:52:04", "DMY hms")
1.750e+12
您需要再次导入日期。如果您完全按照图示导入它们,其余部分可以在Stata中完成。
请参阅https://en.wikipedia.org/wiki/Significant_figures如果该短语不熟悉。
你会希望按照'帮助日期时间'中的指导,将字符串变量转换为SIF日期时间变量,这无疑是我系统中访问量最大的文档,第二访问次数最多“Stata用户指南”的第24章(处理日期和时间)PDF可从Stata“帮助”菜单上的PDF文档项获得。在使用日期和时间之前,任何Stata用户都应该仔细阅读非常详细的第24章。之后,帮助日期时间文档通常足以指明方向。 – 2016-08-25 03:01:56