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)
YEAR(date)
MONTH(date)
DAY(date)
WEEKDAY(date)
QTR(date)
MDY(m,d,yr)
YEAR(date)
MONTH(date)
DAY(date)
WEEKDAY(date)
QTR(date)
HMS(h,m,s)
DHMS(d,h,m,s)
DATEPART(dt)
INTNX()计算从from开始经过n个interval间隔后的sas日期
突然想知道自己出生多少天了,于是用sas计算了一下,代码如下:
data
format sdate
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种输入格式:
http://cda.pinggu.org/uploadfile/image/20170601/20170601062117_51298.png
输出格式,常见的有8种,其中4种是常见的:
datew.
mmddyyw.
Ddmmyyw.
Yymmddw.
julianw.
weekdatew.
worddatew.
dayw.
看下一个例子:
http://cda.pinggu.org/uploadfile/image/20170601/20170601062056_28362.png
log:
http://cda.pinggu.org/uploadfile/image/20170601/20170601062037_85824.png