【问题标题】:Convert numerical variable into SAS time variable将数值变量转换为 SAS 时间变量
【发布时间】:2016-04-26 20:39:03
【问题描述】:

我导入了一个 cvs 文件,并在我的 sas 文件中有一个由四位数字组成的变量“出发时间”,例如0856 上午 8 点 56 分。我希望 SAS 将其识别为时间并希望它显示为 08:56。我试过了:

put DEP_TIME hhmm5.;

format DEP_TIME hhmm5.;

不起作用。似乎无法弄清楚这一点。

有什么线索吗?

【问题讨论】:

  • 返回并在您的 CSV 导入中修复此问题 - 将信息和格式应用于变量。

标签: time format sas


【解决方案1】:

通知 B8601TM。

33         data _null_;
34            t='0856';
35            time = input(t,B8601TM.);
36            format time time.;
37            put 'NOTE: ' (_all_)(=);
38            run;

NOTE: t=0856 time=8:56:00

【讨论】:

    【解决方案2】:

    我认为没有将 4 位字符串转换为时间的信息。

    有几种方法可以做到这一点,或者使用hms()substr() 函数,或者自定义图片格式:

    过程格式; 图片 TM 低-高='00:00'; 跑 ; 数据要; 设置有; /* hms 和 substr 方法 */ new_time1 = hms(substr(dep_time,1,2),substr(dep_time,3,2)) ; 格式 new_time1 hhmm5。 ; /* 输入/放入图片格式 */ new_time2 = input(put(input(dep_time,4.),tm.),time5.); 格式 new_time2 hhmm5。 ; 跑 ;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2015-01-23
      • 2017-08-24
      • 1970-01-01
      相关资源
      最近更新 更多