原标题:sas—日期格式及函数
SAS—日期格式及函数
前言
很久不用sas了,把日期的格式给忘了,重新学习下。
前不久,有个同事问我怎么把 date9.如“21jan2016”d 的格式换成yymmdd10. 2016-01-21的格式;
用informat设定好变量格式即可。
data test;
set time;
informat dt yymmdd10.;
dt = dat;
run;
《时间及日期函数》
以下是常用的时间及日期函数
MDY(m,d,yr) 生成yr年m月d日的SAS日期值
YEAR(date) 由SAS日期值date得到年
MONTH(date) 由SAS日期值date得到月
DAY(date) 由SAS日期值date得到日
WEEKDAY(date) 由SAS日期值date得到星期几
QTR(date) 由SAS日期值date得到季度值
MDY(m,d,yr) 生成yr年m月d日的SAS日期值
YEAR(date) 由SAS日期值date得到年
MONTH(date) 由SAS日期值date得到月
DAY(date) 由SAS日期值date得到日
WEEKDAY(date) 由SAS日期值date得到星期几
QTR(date) 由SAS日期值date得到季度值
HMS(h,m,s)由小时h、分钟m、秒s生成SAS时间值
DHMS(d,h,m,s) 由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值
DATEPART(dt) 求SAS日期时间值dt的日期部分
INTNX()计算从from开始经过n个interval间隔后的sas日期
突然想知道自己出生多少天了,于是用sas计算了一下,代码如下:
data a;
format sdate edate yymmdd10. ;
sdate='16oct1993'd;
edate='24MAR2017'd;
loveDay=datdif(sdate, edate, 'actual');
run;
这里有两点需要注意,
1.sas通常用数值来表设计日期,具体值是指到1960-01-01的天数,如果是1959-01-01,那么就是-365;
2.datdif():返回两个日期间相隔的真实天数,当然也可以用intck()。以此为引,讲讲sas中的日期格式。
日期格式:
SAS格式有输入输出格式,输入格式通常在input语句中使用,输出语句通常在format语句中使用。
以下是6种输入格式:
输出格式,常见的有8种,其中4种是常见的:
datew.
mmddyyw.
Ddmmyyw.
Yymmddw.
julianw.
weekdatew.
worddatew.
dayw.
看下一个例子:
log:
责任编辑: