Stata中时间变量的格式转换

type
Post
status
Published
date
slug
summary
tags
category
Stata应用技巧
icon
password
网址
作者
标签
文章链接
发布时间
来源
Stata 将22dec2022这种日期格式称为 %td 格式,下面介绍如何转换为 2022-12-22 这种字符串格式。
核心思路是使用 string() 函数,并配合特定的格式代码。

方法 1:直接生成字符串变量

如果变量在Stata的数据视图中显示黑色,那么已经是数值型的日期变量,请使用以下代码:
gen new_date_str = string(old_date, "%tdCY-N-D")
代码解析:
  • old_date: 原始变量名。
  • %td: 告诉 Stata 处理的是天数日期。
  • CY-N-D: 格式占位符。CY 代表四位年份,N 代表两位月份,D 代表两位日期,中间用-连接。

方法 2:仅改变显示格式(不改变底层数据)

如果你并不需要它变成“字符串”,而只是想让它在数据列表里看起来是 2022-12-22,直接修改显示格式即可:
format old_date %tdCY-N-D
注意: 这样做之后,变量依然是数值类型,方便进行日期加减运算,但在输出结果和浏览数据时会显示为 2022-12-22

常见格式代码参考

如果你需要微调格式,可以参考下表:
格式代码
示例结果
说明
%tdCY-N-D
2022-12-22
标准 ISO 格式
%tdD.N.CY
22.12.2022
欧洲常用格式
%tdCY/N/D
2022/12/22
斜杠分隔
%tdCYN
202212
仅保留年月(常用于合并数据)

避坑指南

如果你的 22dec2022 本身就是一个字符串(在数据视图里是红色的),你需要先用 daily() 函数把它转为数值,再进行上述操作:
Stata
  • 第一步:转为数值gen date_num = daily(old_date_str, "DMY") 第二步:转为标准格式字符串gen final_date = string(date_num, "%tdCY-N-D")
Prev
如何读懂中国专利文献及获取专利文献信息
Next
AMJ | 如何让你的研究变得“有趣”?
Loading...
Article List
Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关