Sas:如何以时间格式显示值
假设 SAS 中有一个名为“duration”的变量,其时间值为7:30:00 。
您可以使用 SAS 中的以下函数以不同的方式格式化该时间值:
- PUT(duration, time8.) – 时间格式,总长度为8。
- 这将产生 7:30:00。
- PUT(持续时间,hhmm。) – 小时格式,仅包含小时和分钟。
- 这将产生 7:30。
- PUT(duration, hours5.2) – 格式为带小数的时间。
- 这将产生 7.50。
- hour(duration) – 仅以小时为单位的格式。
- 这将产生 7
- 分钟(持续时间) ——仅以分钟为单位的格式。
- 这将产生 30 个。
- 秒(持续时间) – 仅以秒为单位的格式。
- 这将产生 0。
以下示例展示了如何在实践中使用每种格式。
示例:在SAS中以时间格式显示值
假设我们在 SAS 中有以下数据集,其中包含有关不同运动员完成任务所需时间的信息:
/*create dataset*/
data my_data;
input athlete $duration time8.;
datalines ;
At 04:15:00
B 10:09:15
C 7:30:00
D 18:55:00
E 14:23:59
F 23:45:10
;
run ;
/*view dataset*/
proc print data =my_data;
默认情况下,SAS 以秒为单位存储时间值。
例如,在第一行中我们输入 4 小时 15 分 0 秒,相当于 15,300 秒。
注:一天有 86,400 秒。
我们可以使用以下语法创建一个新数据集,其中我们将持续时间列值格式化为不同的时间格式:
/*create new dataset with duration printed in various time formats*/
data new_data;
set my_data;
duration_time8 = put (duration, time8. );
duration_hhmm = put (duration, hhmm. );
duration_hour52 = put (duration, hour5.2 );
duration_hour = hour (duration);
duration_minute = minute (duration);
duration_second = second (duration);
run ;
/*view new dataset*/
proc print data = new_data;
请注意,每个新列都以不同的方式格式化时间值:
- uration_time8显示小时、分钟和秒。
- uration_hhmm仅显示小时和分钟。
- uration_hhmm显示十进制小时。
- uration_hour仅显示小时值。
- 分钟_持续时间仅显示分钟值。
- uration_second仅显示秒值。
您可以随意使用任何您想要的格式,具体取决于您希望如何在数据集中显示时间值。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: