在我的 ADaM 数据集中,我有字符日期(例如:2022-12-11T21:57)。我正在处理一个列表,需要将日期显示为 DDMMMYYYY HH:MM(例如:11DEC2022 21:57)。在列表中,我需要将此日期与具有类似格式的另一个日期连接起来,因此它需要采用字符值。最有效的方法是什么?
我尝试使用 substr 函数将日期拆分为日期和时间。然后尝试将其格式化为日期 9。它不起作用。
要将该字符串转换为日期时间值,您可以使用 E8601DT 信息。如果使用 DATETIME 格式显示它,您将得到类似 11DEC2022:21:57:00 的内容。如果您必须使用不带秒且用空格分隔日期和时间的字符串,那么您可能需要自己构建它。您可以使用 DTDATE9。和TOD5。格式来生成两个部分。
示例:
1 data test;
2 string1='2022-12-11T21:57';
3 datetime=input(string1,e8601dt.);
4 format datetime datetime19.;
5 length string2 $15 ;
6 string2=cat(put(datetime,dtdate9.),' ',put(datetime,tod5.));
7 put (_all_) (=/);
8 run;
string1=2022-12-11T21:57
datetime=11DEC2022:21:57:00
string2=11DEC2022 21:57