楼主: sushuiasushui
2991 1

[数据管理求助] 如何在数值型日期31jan1998中提取年月jan1998 [推广有奖]

  • 9关注
  • 0粉丝

已卖:13份资源

硕士生

26%

还不是VIP/贵宾

-

威望
0
论坛币
610 个
通用积分
22.9838
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
1348 点
帖子
91
精华
0
在线时间
159 小时
注册时间
2011-12-16
最后登录
2019-7-16

楼主
sushuiasushui 发表于 2016-3-14 23:37:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有一列日期是数值型,类型为long,格式为%td.请问如何只提取其中的年月呢?比如31jan1998,我需要的是日期型的jan1998或者1998m1,用来生成时间序列。
我试了类似帖子的解决方法,都不成功。
帖子链接是:https://bbs.pinggu.org/thread-3843591-1-1.html
试了转成字符型,出来的是数字,用帖子中版主的解决方法
gen month=mofd(datadate)
出来的结果也是数字。
如图: 1.PNG
当我试着在变量管理器里更改格式为%tm时,出来的结果也完全不对。如31oct1992变成了2928m11.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Jan 数值型 thread pinggu month 如何

沙发
夏目贵志 发表于 2016-3-31 11:15:20
用如下函数转换即可
    strofreal(n,s)
       Description:  n converted to a string using the specified display format

                     Also see real().

                     strofreal(4,"%9.2f") = "4.00"
                     strofreal(123456789,"%11.0g") = "123456789"
                     strofreal(123456789,"%13.0gc") = "123,456,789"
                     strofreal(0,"%td") = "01jan1960"
                     strofreal(225,"%tq") = "2016q2"
                     strofreal(225,"not a format") = ""
       Domain n:     -8e+307 to 8e+307 or missing
       Domain s:     strings containing %fmt numeric display format
       Range:        strings

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-4 12:23