date - 将非标准日期转换为 SAS 中的 SAS 日期

标签 date sas substr

我的数据中有一个日期变量。变量中的值格式不正确。我想将它们转换为 SAS 日期格式,如 datetime9。 .

日期

2013 年 11 月 2 日上午 10:00
2012 年 10 月 6 日上午 11:00
2002年8月26日 18:00PM
2012 年 3 月 22 日 07:00AM

最佳答案

有一些功能需要了解。

  1. scan(str,n) -- 从字符串中提取第 n 个单词。

  2. catt(str1,str2,str3) -- 连接字符串。

  3. input(str,informat) -- 使用 informat 将字符串转换为数字

  4. dhms(d,h,m,s) -- 日时分秒。日期加上时间部分等于日期时间。

还有DDMONYYYY是信息 = date9.

HH:MM <AM|PM>是信息 = time.

所以...

data test;
format date $20.;
date = "Nov 2 2013 10:00AM"; output;
date = "Oct 6 2012 11:00AM"; output;
date = "Aug 26 2002 18:00PM"; output;
date = "Mar 22 2012 07:00AM"; output;
run;

data test;
set test;
format day date9. time time. date2 datetime.;
day = input(catt(scan(date,2),scan(date,1),scan(date,3)),date9.);
time = input(scan(date,4),time.);
date2 = dhms(day,hour(time),minute(time),second(time));
run;

关于date - 将非标准日期转换为 SAS 中的 SAS 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665991/

相关文章:

sql - 在 Oracle 中使用 REGEXP_SUBSTR 作为分割

php - PHP 中是否有类似于整数的 substr() 的函数?

php - Laravel 显示与我的数据库不同的日期

javascript - 跨日期选择器默认日期问题

excel - SAS:使用 PROC IMPORT 导入 .xlsx 时定义类型

sql - SAS:左连接适用于定义的数字,但不适用于选定的数字列表

java - 在 Java 中操作和存储日期的最佳实践是什么?

javascript - 使用 date-fns 比较两个 UTC 日期

SQL - 如何将查询结果的计数添加到表中

Ruby - 如何从字符串中选择一些字符