Date 将字符串日期转换为人类可读格式HRF(Stata)

Date 将字符串日期转换为人类可读格式HRF(Stata),date,format,stata,Date,Format,Stata,版本:stata15 日期(格式%9s),类型8s-20171230 date 20171230 20171230 我想看到2017年12月30日 gen newdate = date(date, "YMD") format newdate %td list 这是我看到的 date newdate 20171230 . 为什么我在新的日期变量中看到丢失的数据?在newdate%td命令中我做错了什么?回答原始问题: 这对我来说毫无意义。像这样的问题也会浪费你的时

版本:stata15

日期(格式%9s),类型8s-20171230

date
20171230
20171230 
我想看到2017年12月30日

gen newdate = date(date, "YMD")
format newdate %td 
list 
这是我看到的

date       newdate 
20171230    . 

为什么我在新的日期变量中看到丢失的数据?在
newdate%td
命令中我做错了什么?

回答原始问题:

这对我来说毫无意义。像这样的问题也会浪费你的时间

你没有给出一个清晰的可复制的数据示例。在Stata的最新版本中,
help-dataex
告诉您如何做到这一点。如果您使用的是旧版本的Stata,那么您应该告诉我们

  • 您的第一句话似乎告诉我们您有一个字符串变量
    date
    ,其存储类型为
    str8
    ,显示格式为
    %9s

  • 如果是这样,那么
    tostring
    就没有意义了,因为您已经有了一个字符串变量

  • 语句
    gen date=date(date,“YMD”)
    是非法的,因为
    date
    已经作为变量存在。如果你打了那个,它就不起作用了。如果你打了别的东西,你应该告诉我们

  • 格式
    %td
    应该为您提供一个相当可读的日期。那么,你已经回答了你自己的问题。如果您有数字日期变量,请阅读帮助日期时间显示格式,了解更多信息

  • 编辑以下事实:上面的大部分内容与真实问题无关,这表明你是如何浪费时间不去问真实问题的

    对修改后的问题的答复:

    我无法重现你的问题。您报告了一个丢失的日期结果,显然没有任何显示格式能够解释这一点。但是Stata 15.1为我做了这件事。所以,你告诉我们的有些不对劲。也许你的状态被破坏了,或者其他的东西不是你说的那样

    clear 
    set obs 1 
    gen str8 date = "20171230"
    gen newdate = daily(date, "YMD") 
    
    list 
    
         +--------------------+
         |     date   newdate |
         |--------------------|
      1. | 20171230     21183 |
         +--------------------+
    

    21183将以
    %td
    格式很好地显示。使用
    daily()
    而不是
    date()
    是不相关的,因为
    date()
    会产生相同的结果

    你经常忽略对你的问题的评论和回答。您应该(a)接受之前正确的答案,并且(b)在(合理地)期待进一步的帮助之前回答未解决的问题。否决并投票结束。非常混乱。没有真正的迹象表明您是一名专业或热心的程序员,甚至试图以推荐的方式提供基于可复制示例的清晰问题。你应该研究Stata中的
    帮助dataex
    (或者
    搜索dataex
    ,如果这不起作用),在这里,你应该研究上面的链接,该链接是在之前的评论中提供给你的。仍然没有使用
    dataex
    。撤回投票。答案是可能的,尽管我不知道为什么你会得到一个我无法重现的结果。