如何从字符串中删除时间并转换为sas中的date9格式

Fre*_*oxx 1 sas

想要转换date = 2021/06/05 00:00:00date = 05Jun2021. 我用这段代码来转换:

New date = datepart(date);
Run Code Online (Sandbox Code Playgroud)

但这没有用。我还使用子字符串来删除时间,但似乎这个方法有点冗长。

Tom*_*Tom 5

如果您确定现有字符变量始终使用 4 位数字表示年份、2 位数字表示月份、2 位数字表示月份中的日期,那么简单的 INPUT() 将可以将前 10 个字符转换为日期。

new_date = input(date,yymmdd10.);
format new_date date9.;
Run Code Online (Sandbox Code Playgroud)

如果字符串的日期部分的长度不同,则添加 SCAN() 函数调用以仅获取字符串的第一部分。

new_date = input(scan(date,1,' '),yymmdd10.);
format new_date date9.;
Run Code Online (Sandbox Code Playgroud)