我有一个字符变量,其中包含日期(字符串长度为30):
Mon Jul 24 02:48:17 -0700 2017
------------------------------ ruler
123456789012345678901234567890
1 2 3
如何提取可用的(日期,月份,年份)日期并将其保存为数字日期。我知道如何使用SUBSTR函数,然后将所有内容串联在一起。但我想知道一种更简便快捷的方法。我尝试使用ANYDTDTE信息读取它,但是得到空白值。让我知道是否有更简单的方法来读取此日期。
答案 0 :(得分:0)
您只需要日期吗?还是您还需要获取时间部分? SCAN()函数可以使此操作更容易。
data test;
str='Mon Jul 24 02:48:17 -0700 2017';
date=input(cats(scan(str,3),scan(str,2),scan(str,-1)),date9.);
format date date9.;
datetime=input(cats(scan(str,3),scan(str,2),scan(str,-1),':',scan(str,4,' ')),datetime20.);
format datetime datetime19.;
run;
结果:
str=Mon Jul 24 02:48:17 -0700 2017
date=24JUL2017
datetime=24JUL2017:02:48:17