楼主: inchStone
627 2

[问答] 如何转换日期时间的长数值为日期时间格式 [推广有奖]

  • 0关注
  • 0粉丝

初中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
157 个
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
436 点
帖子
6
精华
0
在线时间
24 小时
注册时间
2017-12-14
最后登录
2018-6-27

inchStone 发表于 2018-1-10 17:51:27 |显示全部楼层
5论坛币
比较着急,需要伸一波手了。
如果是20180110175025这样的日期时间格式,怎么转换成SAS的日期时间格式?
网上搜了很多好像没有很相关的,又不想摘分开分步转换,有没有一步直接转换的方法?谢谢各位。

关键词:sas的 有没有
stata SPSS
流水不朽 发表于 2018-1-11 09:38:20 |显示全部楼层
本帖最后由 流水不朽 于 2018-1-11 09:49 编辑

data        dd;
format dte yymmddn8. tme time. dt datetime.;
        dd='20180110175025';
        /*日期*/
        dte=mdy(input(substr(dd,5,2),8.),input(substr(dd,7,2),8.),input(substr(dd,1,4),8.));
        /*时间*/
        tme=input(catx('.',substr(dd,9,5),substr(dd,14)),8.);
        /*时间戳*/
        dt=dhms(dte,hour(tme),minute(tme),second(tme));       /*或者*/
        dt=dhms(dte,0,0,tme);
run;

回复

使用道具 举报

舍身卫道 发表于 2018-1-11 14:55:34 |显示全部楼层
  1. data test;
  2. dd="20180110175025";
  3. m1=input(substr(dd,1,8),yymmdd10.);
  4. n1=input(catx(':',substr(dd,9,2),substr(dd,11,2),substr(dd,13,2)),time8.);
  5. dtime=put(m1*86400+n1,datetime20.);
  6. keep dd dtime;
  7. run;
  8. 希望能解决你的问题
复制代码
回复

使用道具 举报

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

GMT+8, 2018-7-20 11:11