将 Sas 字符日期 yyyy-mm-ddThh:mm 转换为 DDMMMYYYY HH:MM

问题描述 投票:0回答:1

在我的 ADaM 数据集中,我有字符日期(例如:2022-12-11T21:57)。我正在处理一个列表,需要将日期显示为 DDMMMYYYY HH:MM(例如:11DEC2022 21:57)。在列表中,我需要将此日期与具有类似格式的另一个日期连接起来,因此它需要采用字符值。最有效的方法是什么?

我尝试使用 substr 函数将日期拆分为日期和时间。然后尝试将其格式化为日期 9。它不起作用。

datetime character
1个回答
0
投票

要将该字符串转换为日期时间值,您可以使用 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
© www.soinside.com 2019 - 2024. All rights reserved.