请选择 进入手机版 | 继续访问电脑版
楼主: inchStone
2702 2

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

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
282 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
439 点
帖子
7
精华
0
在线时间
26 小时
注册时间
2017-12-14
最后登录
2020-8-17

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

关键词:sas的 有没有
流水不朽 发表于 2018-1-11 09:38:20 |显示全部楼层 |坛友微信交流群
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. 希望能解决你的问题
复制代码

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 17:58