如何在SPSS中将2019-06-30 00:00:00.000字符串转换为日期变量?
解决SPSS中带毫秒的字符串日期转换问题
针对你遇到的2019-06-30 00:00:00.000这类带毫秒的字符串日期转SPSS日期变量的问题,直接用以下语法即可实现:
假设你的原字符串变量名为str_date,要生成的日期时间变量名为dt_date,执行以下步骤:
- 生成日期时间变量
COMPUTE dt_date = INPUT(str_date, YYYY-MM-DD HH:MM:SS.FFF).
这里的YYYY-MM-DD HH:MM:SS.FFF是对应你字符串的格式,FFF用于识别毫秒部分。
- 设置变量显示格式
FORMATS dt_date (DATETIME20.3).
DATETIME20.3会让变量显示为包含毫秒的日期时间格式(比如2019-06-30 00:00:00.000)。
- 执行语法
EXECUTE.
如果只需要提取日期部分(不带时间和毫秒),可以用下面的语法:
COMPUTE date_only = DATE.YMD(CHAR.SUBSTR(str_date, 1, 4), CHAR.SUBSTR(str_date, 6, 2), CHAR.SUBSTR(str_date, 9, 2)). FORMATS date_only (DATE10.). EXECUTE.
这段语法通过截取字符串中的年、月、日部分,直接转换为日期变量,显示格式为2019-06-30。
注意:把语法里的str_date替换成你实际的变量名,在SPSS的语法编辑器中粘贴代码后,点击运行按钮即可完成转换。
内容的提问来源于stack exchange,提问作者Jamie Duvall
相关产品推荐
相关产品推荐

