哪一条informat语句可以阅读;yyyymmdd hh:mm:ssAM“;sas中的日期

哪一条informat语句可以阅读;yyyymmdd hh:mm:ssAM“;sas中的日期,sas,Sas,我试图在sas数据集中读取上述数据,但找不到任何此类型的informat语句 多谢各位 SAS中没有关于此的内置信息。您也不能创建我所知道的自定义日期时间信息 这意味着你将不得不以“艰难”的方式去做 下面的代码分别提取日期部分和时间部分,然后将它们组合成单个datetime值 您会注意到,要将日期值和时间值转换为日期时间值,只需使用dhms()函数,并将时间值放入“seconds”参数中即可 data _null_; have = '20160131 06:59:59PM'; dat

我试图在sas数据集中读取上述数据,但找不到任何此类型的informat语句


多谢各位

SAS中没有关于此的内置信息。您也不能创建我所知道的自定义日期时间信息

这意味着你将不得不以“艰难”的方式去做

下面的代码分别提取日期部分和时间部分,然后将它们组合成单个datetime值

您会注意到,要将日期值和时间值转换为日期时间值,只需使用
dhms()
函数,并将时间值放入“seconds”参数中即可

data _null_;

  have = '20160131 06:59:59PM';

  date_part = input(scan(have, 1), yymmdd8.);
  time_part = input(scan(have, 2), time10.);

  want = dhms(date_part,0,0,time_part);

  put date_part= date9. 
      time_part= timeampm.
      want= datetime22.;

run;
输出:

date_part=31JAN2016 time_part=6:59:59 PM want=31JAN2016:18:59:59

日期时间20。可能吗?请添加示例数据,以便我们可以测试我们的答案格式为“2012/09/06 12:00:00AM”,文件中有10列,约10k行。我们还可以使用
scan()
提取
时间部分
<代码>时间_部分=输入(扫描(have,2),时间10)(比使用
substrn()
)更简单)SAS有一个功能,用于从DHMS的部分(日期部分,0,0,时间部分)创建日期时间;谢谢大家-更新。Dom-我在AM/PM之间有第二个空格,因此是substr…当我以数据集的形式加载了文件并且列名为“stat_date”@Fun.Rohit时,我该如何做?在我看来,您可能会从一些介绍性SAS教程中受益。我不知道怎样才能使我的答案变得更简单,因为我已经很抱歉了。