如何将SAS日期值(如2018年11月20日)转换为2018年11月20日
我在SAS中有一个日期值,如2018年11月20日的日期格式。我需要一个SAS函数,它可以用空格分隔DayMonthtYear,例如2018年11月20日。如何将SAS日期值(如2018年11月20日)转换为2018年11月20日,sas,Sas,我在SAS中有一个日期值,如2018年11月20日的日期格式。我需要一个SAS函数,它可以用空格分隔DayMonthtYear,例如2018年11月20日。 哪个SAS函数可以解决我的问题?我想不出一个函数可以满足您的要求,因此下面介绍了两种替代方法: /* set up the SAS date required */ data have; format num_date date9.; input num_date date9.; datalines; 20NOV2018
哪个SAS函数可以解决我的问题?我想不出一个函数可以满足您的要求,因此下面介绍了两种替代方法:
/* set up the SAS date required */
data have;
format num_date date9.;
input num_date date9.;
datalines;
20NOV2018
;
/* create char_date1 and char_date2 with spaces in the date values */
data want;
set have;
char_date1 = catx(' '
,day(num_date)
,put(num_date,monname3.)
,year(num_date)
);
char_date2 = put(num_date,worddatx.);
run;
我想不出一个函数可以满足您的要求,因此下面给出了两种可选方法:
/* set up the SAS date required */
data have;
format num_date date9.;
input num_date date9.;
datalines;
20NOV2018
;
/* create char_date1 and char_date2 with spaces in the date values */
data want;
set have;
char_date1 = catx(' '
,day(num_date)
,put(num_date,monname3.)
,year(num_date)
);
char_date2 = put(num_date,worddatx.);
run;
定义日期变量时,可以使用format更改日期变量的格式。 您要求的格式与mmddyyw一致。格式。 我建议您尝试使用mmddyyw。其中w代表2到10。 正在尝试mmddyy10。解决您的问题并获得2019年2月1日的输出
Chee's:)定义日期变量时,可以使用format更改日期变量的格式。 您要求的格式与mmddyyw一致。格式。 我建议您尝试使用mmddyyw。其中w代表2到10。 正在尝试mmddyy10。解决您的问题并获得2019年2月1日的输出
Chee's:)如果您想格式化,即只是为了显示,您不应该更改数据类型,或者如果您想更改数据类型(那么它不再是一个日期,而是一个字符值),您可以按照@amir answer,它是完美的。否则,图片格式有助于设置日期格式
proc format;
picture mydate (default = 11)
low-high = '%0d %b %Y'(datatype=date);
run;
data have;
input num_date:date9.;
format num_date mydate.;
datalines;
20NOV2018
09SEP2018
;
输出为
Obs num_date
1 20 Nov 2018
2 09 Sep 2018
如果您想要格式化,即只是为了显示,您不应该更改数据类型,或者如果您想要更改数据类型(那么它不再是一个日期,而是一个字符值),您可以按照@amir answer,它是完美的。否则,图片格式有助于设置日期格式
proc format;
picture mydate (default = 11)
low-high = '%0d %b %Y'(datatype=date);
run;
data have;
input num_date:date9.;
format num_date mydate.;
datalines;
20NOV2018
09SEP2018
;
输出为
Obs num_date
1 20 Nov 2018
2 09 Sep 2018
您需要说明新格式是否仅用于显示目的,或者是否需要将其存储为字符值。SAS日期存储为数字,您可以选择多种不同的格式来显示它们。如果您只想更改显示,然后更改格式,您可以在线查找所有选项。这还取决于您使用此选项的目的。在某些情况下,图片格式可以工作,而在其他情况下,用户定义的格式(不是图片)可以工作。我认为这通常在绘图时起作用。您需要说明新格式是否仅用于显示目的,或者是否需要将其存储为字符值。SAS日期存储为数字,您可以选择多种不同的格式来显示它们。如果您只想更改显示,然后更改格式,您可以在线查找所有选项。这还取决于您使用此选项的目的。在某些情况下,图片格式可以工作,而在其他情况下,用户定义的格式(不是图片)可以工作。我认为这通常在作图时起作用。