将字符串转换为日期时间会导致错误的小时/分钟/秒

7 stata

客观的

我正在使用该函数将以下格式的字符串向量转换"MM/DD/YYYY HH:MM:SS"为 Stata 可识别的日期时间clock()

问题

转换后的日期时间结果与输入不相等。这是我使用过的代码,

gen datetime = clock(dt, "MDY hms")
format datetime %tc
Run Code Online (Sandbox Code Playgroud)

这是结果数据,其中原始字符串是dt和 是 %19s 格式的 str19 类型,并且datetime是转换后的浮点型变量,格式为 %tc,

dt 约会时间
2016 年 1 月 1 日 1:00:00 01jan2016 01:00:27
2016 年 1 月 1 日 2:00:00 2016 年 1 月 1 日 01:59:25
2016 年 1 月 1 日 3:00:00 01jan2016 03:00:35
2016 年 1 月 1 日 4:00:00 2016 年 1 月 1 日 03:59:34

我做了什么

我已经阅读了 Stata 用户手册的第 24 章使用日期和时间以及日期时间翻译,但无法解析出正在发生的事情的任何线索,因此非常感谢任何帮助。

样本数据

clear
input str19 dt
"1/1/2016 1:00:00" 
"1/1/2016 2:00:00" 
"1/1/2016 3:00:00" 
"1/1/2016 4:00:00" 
"1/1/2016 5:00:00" 
"1/1/2016 6:00:00" 
"1/1/2016 7:00:00" 
"1/1/2016 8:00:00" 
"1/1/2016 9:00:00" 
"1/1/2016 10:00:00"
end
Run Code Online (Sandbox Code Playgroud)

Nic*_*Cox 1

您需要指定double为变量类型。文档中多次提到这一点。