怎么把15 Sep 2018 12:00字符转换成日期时间?

时间:2019-01-22 03:44:52

标签: sas

我当前正在尝试转换以下数据:

  

2018年9月15日12:00:00

日期时间的字符。

我设法成功转换了字符

  

15/08/2018 12:00

到日期时间,而不是

  

2018年9月15日12:00

数据最初在Excel中。当我加载15/08/2018 12:00时,我将获得诸如(数字可能有所不同)之类的数字

42541.843148148





 > Here is my code(when Character is 15/08/2018 12:00(WORKING)
    > 
    > data have;  
    > input exl_dt;  
    > format date date9.;  
    > format time timeampm.;
    > format dt datetime21.;  
    > date=int(exl_dt)-21916; 
    > time=(exl_dt-int(exl_dt))*60*60*24;  
    > dt=date*24*60*60+time; cards;
    > 42541.843148148 ;

但是,我现在正在阅读另一个excel,但是现在我的角色日期是:

  

2018年9月15日12:00

上面的相同代码将无法将值转换为日期时间,只能产生空白值。

代码供您尝试:

data have ;
  datestring = "15 Sep 2018 12:00" ;
run ;

我应该如何处理?

1 个答案:

答案 0 :(得分:1)

您可以尝试anydtdtm。信息

 data have ;
    datestring = "15 Sep 2018 12:00" ;
  dt =input(datestring, anydtdtm.);
  format dt datetime21.;
 run ;