全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3422 6
2018-08-30

例3.14  将日期时间值换算为以秒计数的计算方法。

data;

mdy=mdy(08,18,2001);

put mdy=;

format mdy yymmdd10.;


hms=hms (21,50,51);

put hms=;

x=21* 60* 60 + 50* 60 + 51; put x=;


dhms=dhms(date(),21,50,51);

put dhms=;


dhms=dhms(15263,21,50,51);

put dhms=;

y=15263 * 24 * 3600 + x; put y=;

run;


结果显示:

mdy=2001-08-18

hms=78651

x=78651

dhms=1347832251

dhrns=1318801851

y=1318801851



(1)hms 和第一个dhms 还有第二个dhms是怎么得出数值的啊?

(2)求日期和时间的总秒数,时间转成秒好理解,关于日期那部分,上面标红的那个15263是怎么来的呀?




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-8-30 20:37:17
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-30 20:43:26
第一个问题:
hms (21,50,51); 对应的时间是21时:50分:51秒。        00:00:00 秒的时间戳是第0秒,00:00:01 秒的时间戳是第1秒,以此类推,21:50:51对应的秒时间戳是第x=21* 60* 60 + 50* 60 + 51=78651(秒),等效于用函数直接读秒hms(21,50,51)=78651(s)

dhms 实际上对应的时间是 2001-10-15 21时:50分:51秒 ,对应的秒的时间戳可以用函数直接读出来dhms(15263,21,50,51)=15263*24(小时)*3600(秒)+x(x也就是21* 60* 60 + 50* 60 + 51)。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-31 10:13:01
superguy333 发表于 2018-8-30 20:37
谢啦,这么看 书里第一段和第三段code并没啥用啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-31 10:17:57
superguy333 发表于 2018-8-30 20:43
第一个问题:
hms (21,50,51); 对应的时间是21时:50分:51秒。        00:00:00 秒的时间戳是第0秒,00: ...
明白了算秒数为什么用15263乘以24小时和3600秒,是因为15263就是指那一天与1960.1.1所差的天数,

那相似的,dhms(15263,21,50,51) 也是与1960.1.1零点零分之间的差吧?这个差是用秒吗?也就是差了1318801851秒?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-31 10:18:34
superguy333 发表于 2018-8-30 20:43
第一个问题:
hms (21,50,51); 对应的时间是21时:50分:51秒。        00:00:00 秒的时间戳是第0秒,00: ...
明白了算秒数为什么用15263乘以24小时和3600秒,是因为15263就是指那一天与1960.1.1所差的天数,

那相似的,dhms(15263,21,50,51) 也是与1960.1.1零点零分之间的差吧?这个差是用秒吗?也就是差了1318801851秒?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群