楼主: xiaohunhunlaile
2176 6

[问答] 日期格式 求助!!! [推广有奖]

  • 0关注
  • 0粉丝

大专生

13%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
139 点
帖子
29
精华
0
在线时间
40 小时
注册时间
2009-10-3
最后登录
2017-3-18

楼主
xiaohunhunlaile 发表于 2010-12-25 20:13:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
新学SAS,被日期搞死了。
有时候是yymmdd10.格式,这个很好转化为其他形式。
但是有时候会变成 Best.10格式,请问如何变成yymmdd10.的啊?

谢谢各位大侠~~
二维码

扫码加我 拉你入群

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

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

关键词:各位大侠 Best Est 求助 格式

回帖推荐

elek.me 发表于5楼  查看完整内容

如果事先就有的数据,可以按照下面的方法转换,变量名你自己再调整咯。

本帖被以下文库推荐

沙发
elek.me 发表于 2010-12-25 20:51:51
不太懂你说什么。。
举个例子看看
我的博客: http://elek.me/sas
联系我: http://about.me/elek

藤椅
xiaohunhunlaile 发表于 2010-12-26 10:00:40
Stkcd        Date        date1        date2
600260        2003-06-06        20030606       
600260        2003-06-09        20030609       
600260        2003-06-10        20030610       
600260        2003-06-11        20030611       
600260        2003-06-12        20030612       
600260        2003-06-13        20030613       
600260        2003-06-16        20030616       
600260        2003-06-17        20030617       
600260        2003-06-18        20030618       
600260        2003-06-19        20030619       
600260        2003-06-20        20030620       
600260        2003-06-23        20030623       
600260        2003-06-24        20030624       
600260        2003-06-25        20030625       
600260        2003-06-26        20030626       
600260        2003-06-27        20030627       
600260        2003-06-30        20030630       
600260        2003-07-01        20030701       
600260        2003-07-02        20030702       
600260        2003-07-03        20030703       
比如说这一列数字已经输入,不包括date1。我用一下命令
data e;
set e;
date1=10000*year(date)+100*month(date)+day(date);
run;
可以生成date1,格式是best12.但是当我再想转化为yymmdd格式的时候,就出现问题了。

处理表格的时候,因为好多日期刚上来就是这个best12.的格式的,不知道怎么换为日期格式的了。

谢谢啦~~

板凳
elek.me 发表于 2010-12-26 13:23:23
如果输入的时候处理,可以按照下面的方法:
  1. data have;
  2.         input  Stkcd  Date :yymmdd.   date2 :yymmdd.;
  3.         format date yymmddd10. date2 yymmddn8.;
  4. cards;
  5. 600260        2003-06-06        20030606        
  6. 600260        2003-06-09        20030609        
  7. 600260        2003-06-10        20030610        
  8. 600260        2003-06-11        20030611        
  9. 600260        2003-06-12        20030612        
  10. 600260        2003-06-13        20030613        
  11. 600260        2003-06-16        20030616        
  12. 600260        2003-06-17        20030617        
  13. 600260        2003-06-18        20030618        
  14. 600260        2003-06-19        20030619        
  15. 600260        2003-06-20        20030620        
  16. 600260        2003-06-23        20030623        
  17. 600260        2003-06-24        20030624        
  18. 600260        2003-06-25        20030625        
  19. 600260        2003-06-26        20030626        
  20. 600260        2003-06-27        20030627        
  21. 600260        2003-06-30        20030630        
  22. 600260        2003-07-01        20030701        
  23. 600260        2003-07-02        20030702        
  24. 600260        2003-07-03        20030703        
  25. ;
复制代码
我的博客: http://elek.me/sas
联系我: http://about.me/elek

报纸
elek.me 发表于 2010-12-26 13:26:04
如果事先就有的数据,可以按照下面的方法转换,变量名你自己再调整咯。
  1. data have;
  2.         input  Stkcd  Date :$10.   date2  $;
  3. cards;
  4. 600260        2003-06-06        20030606        
  5. 600260        2003-06-09        20030609        
  6. 600260        2003-06-10        20030610        
  7. 600260        2003-06-11        20030611        
  8. 600260        2003-06-12        20030612        
  9. 600260        2003-06-13        20030613        
  10. 600260        2003-06-16        20030616        
  11. 600260        2003-06-17        20030617        
  12. 600260        2003-06-18        20030618        
  13. 600260        2003-06-19        20030619        
  14. 600260        2003-06-20        20030620        
  15. 600260        2003-06-23        20030623        
  16. 600260        2003-06-24        20030624        
  17. 600260        2003-06-25        20030625        
  18. 600260        2003-06-26        20030626        
  19. 600260        2003-06-27        20030627        
  20. 600260        2003-06-30        20030630        
  21. 600260        2003-07-01        20030701        
  22. 600260        2003-07-02        20030702        
  23. 600260        2003-07-03        20030703        
  24. ;

  25. data want;
  26.         set have;
  27.         date1=input(date,yymmdd10.);
  28.         date21=input(date2,yymmdd8.);
  29.         format date1 yymmddd10. date21 yymmddn8.;
  30. run;
复制代码
我的博客: http://elek.me/sas
联系我: http://about.me/elek

地板
soporaeternus 发表于 2010-12-26 21:55:42
year等函数可以执行说明date至少是一个数值
并且转换后的date1看上去也是yymmddn8.样子
我想楼主是需要一个
format date ymmdd10.;
Let them be hard, but never unjust

7
xiaohunhunlaile 发表于 2010-12-28 21:33:55
就是这个,非常感谢~~呵呵 5# elek.me

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-12 09:21