D******6 发帖数: 6211 | 1 我现在的原始数据是一个数值变量,一个相对SAS的60年1月1日的妙数,巨大的数字。
我现在想要把它转换成真正的时间,有无现成函数可以把这个变量转换成年月日小时分
钟妙?
比如我的原始数据是31536001,就是说距离1960年1月1日0点0分0妙是31536001妙,也
就是1961年1月1日0点0分1妙。
我希望 time1= 31536001, time2= 01-01-1961 00:00:01
我现在只有time1,没有time2。有无现成的函数可以生成time2?
谢谢解答,包子答谢。 |
q**j 发帖数: 10612 | 2 you can simply reformat it. check the manual.
【在 D******6 的大作中提到】 : 我现在的原始数据是一个数值变量,一个相对SAS的60年1月1日的妙数,巨大的数字。 : 我现在想要把它转换成真正的时间,有无现成函数可以把这个变量转换成年月日小时分 : 钟妙? : 比如我的原始数据是31536001,就是说距离1960年1月1日0点0分0妙是31536001妙,也 : 就是1961年1月1日0点0分1妙。 : 我希望 time1= 31536001, time2= 01-01-1961 00:00:01 : 我现在只有time1,没有time2。有无现成的函数可以生成time2? : 谢谢解答,包子答谢。
|
h******e 发帖数: 1791 | |
D******6 发帖数: 6211 | 4 谢谢答复。我没有找到如何format datetime value的format形式,但是我找到了返回
日期和时间的函数,间接解决了我的问题。
我现在国内,如果现在发包子是中国的。等我回美,发的就是美国的了。赫赫,请稍等
些时日。
【在 q**j 的大作中提到】 : you can simply reformat it. check the manual.
|
D******6 发帖数: 6211 | 5 谢谢答复。我没有找到is8601dt的格式实例,我用了返回日期和时间的函数,间接解决
了我的问题。
我现在国内,如果现在发包子是中国的。等我回美,发的就是美国的了。赫赫,请稍等
些时日。
【在 h******e 的大作中提到】 : 用is8601dt格式。
|
d*******r 发帖数: 71 | 6 You may do as;
data a;
input x;
cards;
31536001
;
run;
data b;
set a;
day=put(datepart(x), mmddyyd10.);
time=put(timepart(x),time.);
run;
data c;
set b;
daytime=day||time;
run;
proc print data=c;
run;
format date20. also help you, not exact what you want,but you can read the
time as 31DEC1960:00:00:01.
proc print data=a;
format x datetime20.;
run; |
D******6 发帖数: 6211 | 7 十分感谢!这段代码很明白!我实现了!
我现在国内,发中国的包子,等回美国再发美国的包子。谢谢解答!:)
【在 d*******r 的大作中提到】 : You may do as; : data a; : input x; : cards; : 31536001 : ; : run; : data b; : set a; : day=put(datepart(x), mmddyyd10.);
|