我想知道,我们如何定义给定日期的日期格式
例如,我有日期 20180423,然后在 sas 中我想将格式定义为“yyyymmdd”
类似地,我在数据中给出的日期为 12022018,然后我想定义为“ddmmyyyy”
请注意,日期是以正确的日期提供给我的,但我现在想定义格式。 给出的日期将来可能会有所不同 所以我需要通过 SAS 处理所有日期格式
我认为给出的日期是20180422 使用 substr 函数
data test;
a=20180422;
a=substr(a,1,4);
b=substr(a,5,1);
c=substr(a,7,1);
run;
但不确定。
如果有人可以提供解决方案,那么它对我的项目工作确实有帮助。
提前感谢您的帮助。
最佳答案
听起来您想将各种值转换为日期。 SAS 将日期存储为数字,即自 1960 年 1 月 1 日以来的天数。通常会将此数字格式化为显示为日期,以首选格式为准。
导入已有格式的日期时,需要使用input
函数以及信息将格式化值转换为 SAS 日期。如果读入的日期值都是相同的格式,则可以使用特定的信息。在您使用不同格式的情况下,您可以使用 anydtdte.
信息,它将大多数标准日期格式转换为 SAS 日期。
下面的示例将 3 种不同的日期格式转换为 SAS 日期,然后以 date9.
格式显示 SAS 日期。我已将未格式化和格式化的新值打印到日志中,以便您可以看到它们存储为数字。
data _null_;
input date_in $20.;
date_out = input(date_in, anydtdte20.);
put date_in date_out date_out :date9.;
datalines;
20180422
12022018
27apr2018
;
run;
关于date - 如何定义给定日期的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50055683/