sas学习系列08. 日期时间数据及数据格式

sas学习系列08. 日期时间数据及数据格式

ID:11258081

大小:99.90 KB

页数:10页

时间:2018-07-11

sas学习系列08. 日期时间数据及数据格式_第1页
sas学习系列08. 日期时间数据及数据格式_第2页
sas学习系列08. 日期时间数据及数据格式_第3页
sas学习系列08. 日期时间数据及数据格式_第4页
sas学习系列08. 日期时间数据及数据格式_第5页
资源描述:

《sas学习系列08. 日期时间数据及数据格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、08.日期时间数据及数据格式(一)SAS日期和时间数据SAS将所有的日期转化成一个以1960年1月1日为起点的数值(日期数值)。比如:January1,19600January1,1959-365January1,1961366January1,202021915SAS处理日期数据包括:读取日期格式的数据,使用日期函数处理日期,按指定格式输出日期。一、读取日期格式的数据1.即按格式读入数据(formattedinput),见系列03。比如,inputBirthDateMMDDYY10.;2.设定默认的百年07/04/76这样的数据可能是1976,也可能是2076、1776。因此需要YEAR

2、CUTOFF=来指定一个一百年的第一年,默认的是1920年。例如,下面的语句就是告诉SAS将一个两位年份的日期解释为1960年到2049年之间:OPTIONSYEARCUTOFF=1950;1.SAS日期的存取日期一旦被以SAS以日期格式读取之后,就将此数据像其他数值数据一样用在表达式中(日期数值)。例如,像为图书馆的书设定21天的还书日期,只需要在借书日期上加上21:DueDate=CheckDate+21;通过引号和字母D,可以将一个日期当作常数来使用,下面的代码创建了一个EarthDay05的日期变量,其值等于April22,2005EarthDay05='22APR2005'D;一

3、、使用日期函数处理日期SAS提供的日期函数使得处理日期的操作大大简便。例如,today()返回今天的日期;计算一本书应归还的剩余期限,就可以用:DaysOverDue=DateDue-today();用出生日期Birthdate计算年龄,可以用:CurrentAge=INT(YRDIF(BirthDate,TODAY(),'AGE'));二、按按指定格式输出日期按指定格式输出日期时,还需要将日期数值转换成日期。例如,下面的FORMAT语句告诉SAS用WORDATE18.格式打印日期变量BirthDate。formatBirthDateWORDATE18.;例1图书馆有借书卡数据,Dates

4、.dat,包含持卡人姓名、出生日期、卡办理日期,到期日:读取数据,计算剩余期限(DaysOverDue);计算持卡人年龄(CurrentAge);接着用IF语句来判断一个卡是否为新卡,在2012年1月1日之后办理的,为新卡。代码:datalibrarycards;infile'c:MyRawDataLibrary.dat'TRUNCOVER;inputName$11.+1BirthDateMMDDYY10.+1IssueDateANYDTDTE10.DueDateDATE11.;DaysOverDue=DueDate-TODAY();CurrentAge=INT(YRDIF(Birth

5、Date,TODAY(),'AGE'));ifIssueDate>'01JAN2012'DthenNewCard='yes';run;procprintdata=librarycards;formatIssuedateMMDDYY8.DueDateWEEKDATE17.;title'SASDateswithoutandwithFormats';run;运行结果:程序说明:(1)BirthDate变量没有指定输出格式,默认输出日期数值;(2)“ANYDTDTE10.”以各种格式(非单一格式)读入日期;(3)歧义日期值,例如01-02-03,可以用DATESTYLE=MDY来设置(默认是MDY

6、)。一、时间数据1.SAS的时间数值(time),表示从当天零点开始到当前时间的秒数,大小介于0和86400之间。hms(h,m,s)——由小时h、分钟m、秒s生成SAS时间值;t1=‘8:45’T;——时间常数值赋值;hour(time);——返回时间数值的小时数;minute,second类似;2.SAS还有日期时间数值(datetime),表示从1960年1月1日零点到当前时刻的秒数。datetime对应的几种格式:30May2000:10:03:17.2DATETIME20.30May0010:03:17.2DATETIME18.30May2000/10:03DATETIME15.

7、conn='01Feb2011:8:45'DT;——日期时间常数值赋值;dhms(d,h,m,s)——由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值;datepart(dt)——返回SAS日期时间值dt的日期部分;intnx(interval,from,n)——返回从from开始经过n个interval间隔后的SAS日期,其中interval可以取'YEAR'、'QTR'、'MONTH'、'WEEK'、'DA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。