如何将(每日)日期转换为月份日期?

时间:2018-04-14 05:41:36

标签: stata

在Stata中,如何以以下形式转换日期:

09mar2005 00:00:00

到一个月的变量?

如果重要,日期格式为%tc

我想到的是在一段时间内绘制变量的月平均值(而不是我所拥有的每日平均值)。

1 个答案:

答案 0 :(得分:1)

为了得到你现在的位置,你或其他人可能做过这样的事情:

clear 
set obs 1 
gen earlier = "09mar2005 00:00:00"
gen double nowhave = clock(earlier, "DMY hms") 
format nowhave %tc 
list 

     +-----------------------------------------+
     |            earlier              nowhave |
     |-----------------------------------------|
  1. | 09mar2005 00:00:00   09mar2005 00:00:00 |
     +-----------------------------------------+

请注意,具有适当日期时间格式%tc的字符串日期和数字日期时间变量在您list时看起来相同,但它们是完全不同的野兽。

要获得您想要的位置 - 使用月度日期 - 您可以从时钟(日期时间)转换为每日日期到月度:

gen mdate = mofd(dofc(nowhave)) 

format mdate %tm 

list 

     +--------------------------------------------------+
     |            earlier              nowhave    mdate |
     |--------------------------------------------------|
  1. | 09mar2005 00:00:00   09mar2005 00:00:00   2005m3 |
     +--------------------------------------------------+

所有内容都记录在help datetime。函数名称代表m on of d aily日期和d aily date of c锁定。