结合两种不同的时间格式。

时间:2014-07-10 15:42:41

标签: sas

我将这个SAS代码作为选择部分的底部:

,datepart(pertito_time_entry_date) format=weekdate.  as b
, (input(substr(pertito_time_in,1,2) || ":" ||substr(pertito_time_in,3,4), time.)) format=time. as c
, (input(substr(pertito_time_out,1,2) || ":" ||substr(pertito_time_out,3,4), time.)) format=time.  as d

我需要结合(b和c)和(b和d)然后我需要

sum(24* (bc - bd) )

让我举个例子:

 b=Wednesday,Jul10,2011
c=11:00:00
d=10:00:00

我需要做

 sum( 24*(Jul102011:11:00:00  -  Jul102011:10:00:00 ))

我如何结合并制作总和?谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要bc-d总是足够的,因为如果两个时间相同,则日期不会影响事情。如果ac(另一个日期),那么您可以使用

dhms(a,0,0,c) - dhms(b,0,0,d)

这也可以在这里工作,但是会无关紧要。

此外,您的24*可能有误;这是24小时?在SAS中,时间总是以秒为单位存储,因此如果您希望从几秒钟开始回到几天,那么它将是86400*

如果您的最终目标是日期时间b以及c和d之间的差异,那么

dhms(b,0,0,(c-d))

会给你(虽然我不确定我会建议这是一个有用的领域)。