Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date SAS日期格式返回已删除_Date_Datetime_Format_Informat_Sas Studio - Fatal编程技术网

Date SAS日期格式返回已删除

Date SAS日期格式返回已删除,date,datetime,format,informat,sas-studio,Date,Datetime,Format,Informat,Sas Studio,我有一个专栏叫“最后付款” last payment 12DEC09:00:00:00 所有的观测都遵循这个结构,我试着用这样的子串 data want; set have; last_payment=substr(last_payment,1,7); run; 那不行,我试着用date7格式化日期。和date.9,但两者都返回******,有人能帮我将其格式化为ddmmmyy ty吗。在date7中格式化之前,必须使用datapart函数。或日期9。 例如: data new; forma

我有一个专栏叫“最后付款”

last payment
12DEC09:00:00:00
所有的观测都遵循这个结构,我试着用这样的子串

data want;
set have;
last_payment=substr(last_payment,1,7);
run;

那不行,我试着用date7格式化日期。和date.9,但两者都返回******,有人能帮我将其格式化为ddmmmyy ty吗。

在date7中格式化之前,必须使用datapart函数。或日期9。 例如:

data new;
format date_new date9. ;
date_new = datepart("12DEC09:00:00:00"dt);
run;

您必须先使用datapart函数,然后才能在date7中对其进行格式化。或日期9。 例如:

data new;
format date_new date9. ;
date_new = datepart("12DEC09:00:00:00"dt);
run;

经过审查的文本意味着使用了错误的格式

  • 如果last_payment是字符串,则将“datetime_as_string”替换为last_payment
  • 如果上次付款为datetime,则将“datetime”替换为上次付款
下面的代码将处理两种情况,即以字符串和数值形式读取日期时间

代码:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09
日志:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09
创建的表格:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09

经过审查的文本意味着使用了错误的格式

  • 如果last_payment是字符串,则将“datetime_as_string”替换为last_payment
  • 如果上次付款为datetime,则将“datetime”替换为上次付款
下面的代码将处理两种情况,即以字符串和数值形式读取日期时间

代码:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09
日志:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09
创建的表格:

data new;
format  datetime_as_dt datetime21. dt_to_date date7. datetime1 date7.;
datetime_as_dt="12DEC09:00:00:00"dt;
datetime_as_string ="12DEC09:00:00:00";
/*Converting datetime to date*/
dt_to_date= datepart(datetime_as_dt);
/*converting datetime string to date*/
/*Option1: Convert string to datetime then extract date*/
datetime1 = datepart(input(datetime_as_string,datetime21.));
/*Option2: Extract date from string then convert to date*/
datetime2 = scan(datetime_as_string,1,':');
put _all_;
run;
datetime_as_dt=12DEC2009:00:00:00 
datetime_as_string=12DEC09:00:00:00
dt_to_date=12DEC09 
datetime1=12DEC09  
datetime2=12DEC09

如果整个数据集中的所有日期/时间都不同,我可以在“”中使用*吗?您需要用列名替换“12DEC09:00:00”dt。如果整个数据集中的所有日期/时间都不同,我可以在“”中使用*吗?您需要用列名替换“12DEC09:00:00”dt。