Time 如何在SAS中格式化时间
我有一个包含三列的数据集:开始、停止和日期 “开始”和“停止”中的观察值是时间型的 在“开始”和“停止”列中有以下两个值: 24:49:00和25:16:00 因为都有24小时以上的格式 我想将这两个值转换为以下值: 24:49:00至00:49:00 及 25:16:00至01:16:00 如何在SAS和proc sql中实现这一点Time 如何在SAS中格式化时间,time,sas,format,Time,Sas,Format,我有一个包含三列的数据集:开始、停止和日期 “开始”和“停止”中的观察值是时间型的 在“开始”和“停止”列中有以下两个值: 24:49:00和25:16:00 因为都有24小时以上的格式 我想将这两个值转换为以下值: 24:49:00至00:49:00 及 25:16:00至01:16:00 如何在SAS和proc sql中实现这一点 谢谢大家! 开始/停止时间-24:00:00,如下所示: data _null_; start='25:16:14't; point='24:00:0
谢谢大家! 开始/停止时间-24:00:00,如下所示:
data _null_;
start='25:16:14't;
point='24:00:00't;
_start=start-point;
put _start;
format _start time8.;
run;
SAS时间和日期时间值使用秒作为基本单位 因此,您可以使用模运算或
TIMEPART
函数提取>24小时时间值中小于24小时的部分
data have;
start = '24:49:00't;
stop = '25:16:00't;
start_remainder = mod(start, '24:00't); * modulus arithmetic;
stop_remainder = mod(stop, '24:00't);
start_timepart = timepart(start); * TIMEPART function;
stop_timepart = timepart(stop);
format start: stop: time10.;
run;
计算后,不要期望开始余数小于停止余数始终为真。是否需要转换它们?使用TIMEPART()函数
start_day=datepart(start);
start_time=timepart(start);
format start_time tod8.;
或者你只是想这样显示它们
format start stop tod8.;
汤姆知道所有的格式!谢谢汤姆的详细解释!