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

How to remove time from string and convert to date9 format in sas

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

New date = datepart(date);

但这没有用。我也用substring去掉了时间,但是好像这个方法有点冗长。

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

new_date = input(date,yymmdd10.);
format new_date date9.;

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

new_date = input(scan(date,1,' '),yymmdd10.);
format new_date date9.;