我有四个变量:DATE1、DATE1SLEEPTIME、DATE2、DATE2WAKETIME。时间变量有 TIME。格式。我正在尝试计算两个 24 小时时间之间的时间差 (DURATION),但我没有得到正确的答案。
供参考:
DATE1=10/22/2019
DATE2=10/23/2019
DATE1SLEEPTIME=20:50:00
DATE2WAKETIME=5:00:00
我试过这个:
duration=INTCK('minute',DATE1SLEEPTIME,DATE2WAKETIME)
此代码导致持续时间=0:15
我也尝试过
duration=mod(24+(DATE1SLEEPTIME-DATE2WAKETIME)/3600,24)
此代码导致持续时间=0:00:16。
这些都不正确。正确答案应该是530(分钟)左右。
将日期和时间转换为日期时间,然后将
intck
与 dtminute
参数一起使用。这将计算两个日期时间之间的分钟数。
data want;
date1 = '22OCT2019'd;
date2 = '23OCT2019'd;
date1sleeptime = '20:50:00't;
date2waketime = '5:00:00't;
date1datetime = dhms(date1, hour(date1sleeptime), minute(date1sleeptime), 0);
date2datetime = dhms(date2, hour(date2waketime), minute(date2waketime), 0);
duration = intck('dtminute', date1datetime, date2datetime);
run;
duration
490