首页 > 解决方案 > 如何将 2018 年 9 月 15 日 12:00 字符转换为日期时间?

问题描述

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

2018 年 9 月 15 日 12:00:00

字符到日期时间。

我已成功转换 Character

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 ;

我该如何处理?

标签: sas

解决方案


你可以试试anydtdtm。信息

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

推荐阅读