从ISO datetime字符串生成Stata date变量

从ISO datetime字符串生成Stata date变量,stata,Stata,我的日期时间字符串如下所示: starttime = 2017-01-03T00:00:00.000000-05:00 我想从这个sting生成Stata datetime变量,但我有困难。这是我正在使用的代码: generate stataDate = clock(starttime, "YMD!THH:MM:SS") 你知道使用这根绳子的正确桅杆吗?我一直在查看文档,但找不到答案。以下内容可能会为您指出一个有用的方向 clear input str32 starttime "2017-0

我的日期时间字符串如下所示:

starttime = 2017-01-03T00:00:00.000000-05:00
我想从这个sting生成Stata datetime变量,但我有困难。这是我正在使用的代码:

generate stataDate = clock(starttime, "YMD!THH:MM:SS")

你知道使用这根绳子的正确桅杆吗?我一直在查看文档,但找不到答案。

以下内容可能会为您指出一个有用的方向

clear
input str32 starttime
"2017-01-03T00:00:00.000000-05:00"
"2017-01-03T12:34:56.654321-05:00"
end
generate double sd = clock(starttime,"YMD#hms##")
format sd %tcCCYY-NN-DD_HH:MM:SS.sss
产生

. list, clean

                              starttime                        sd  
  1.   2017-01-03T00:00:00.000000-05:00   2017-01-03 00:00:00.000  
  2.   2017-01-03T12:34:56.654321-05:00   2017-01-03 12:34:56.654  
值得注意的是,Stata datetime值的精度限制为毫秒:这些是存储值的单位。同样重要的是,日期时间值必须存储为双数值,而不是浮点数,因为浮点数不能保持完全的准确性

Stata的日期和时间变量很复杂,有很多东西需要学习。如果您尚未阅读《Stata用户指南》PDF的第24章(使用日期和时间),请立即阅读。如果你有,是时候复习了。在这之后,
help datetime
文档通常就足以指明方向。你不可能什么都记得;即使是最有经验的用户最终也会参考
help datetime
文档或返回手册以了解详细信息。但至少你会很好地理解基础知识和基本原则。时间的投资将得到充分的回报