从Stata中的datetime中删除时间戳

从Stata中的datetime中删除时间戳,datetime,timestamp,stata,Datetime,Timestamp,Stata,我的stata数据集中有日期,格式为1/1/2008 12:00,格式为%tcnn/dd。我想从datetime中删除时间戳,只显示1/1/2008,同时仍保留其类型(双精度)。我尝试了gen double newdate=date(olddate,“MDY”),但不断出现错误类型不匹配 我理解您的问题意味着您希望更改变量的显示方式,但保留实际内容。在Stata中,您可以称之为更改格式。在定制日期显示方式方面,您可以做很多事情。要查找可以执行的操作,请键入Statahelp datetime\u

我的stata数据集中有日期,格式为
1/1/2008 12:00
,格式为
%tcnn/dd
。我想从datetime中删除时间戳,只显示
1/1/2008
,同时仍保留其类型(双精度)。我尝试了
gen double newdate=date(olddate,“MDY”)
,但不断出现错误
类型不匹配

我理解您的问题意味着您希望更改变量的显示方式,但保留实际内容。在Stata中,您可以称之为更改格式。在定制日期显示方式方面,您可以做很多事情。要查找可以执行的操作,请键入Stata
help datetime\u display\u formats
。下面是显示数据时如何隐藏日期的时间的基本示例

. // create some example data
. clear

. input str14 date

               date
  1. "1/1/2008 12:00"
  2. end

. gen double stata_date = clock(date, "DMYhm")

. 
. // default display format
. format stata_date %tc

. list

     +-------------------------------------+
     |           date           stata_date |
     |-------------------------------------|
  1. | 1/1/2008 12:00   01jan2008 12:00:00 |
     +-------------------------------------+

. 
. // don't display the time
. format stata_date %tcDDmonCCYY

. list

     +----------------------------+
     |           date   stata_d~e |
     |----------------------------|
  1. | 1/1/2008 12:00   01jan2008 |
     +----------------------------+

要理解收到的错误,请注意该语法用于将字符串转换为日期时间,但日期变量已经是数字。