Stata不匹配错误中的日期格式

时间:2018-01-31 22:01:01

标签: date stata

以下是原始日期的格式:2016年1月31日(MDY)

我想更改此日期的格式

gen date = date(Date, "MDY")  //Date is the varname of my original date

format date %td

错误:输入不匹配r(109)

1 个答案:

答案 0 :(得分:0)

这对我有用

clear
set obs 1 
gen Date = "01/31/2016"
gen date = date(Date, "MDY")  //Date is the varname of my original date
format date %td
list 

     +------------------------+
     |       Date        date |
     |------------------------|
  1. | 01/31/2016   31jan2016 |
     +------------------------+

所以我猜你在做一些与众不同的事情并没有告诉我们。

即,

  1. date()的结果如果没有错误执行,只能是包含整数的数字变量。

  2. 所以它会采用每日日期格式而不会抱怨。

  3. 您的错误消息表明date是字符串。

    如果您真的尝试format Date %td,那可能就是错误。

    或者,如果Date是一个显示格式为%tdN/D/Y的数字变量,那么2016年1月31日的数字日期将显示为01/31/16,那么要更改其格式,您不需要也不能它会推动date():您只需使用format Date %td更改格式即可。

    您似乎接近显示格式意味着存储类型的谬误。见this paper for a refutation of that idea