【免责声明:本文用于教学】日期时间数据及数据格式(一)SAS日期和时间数据SAS将所有的日期转化成一个以1960年1月1日为起点的数值(日期数值)。比如:日期数值January 1, 19600January 1, 1959-365January 1, 1961366January 1, 202021915SAS处理日期数据包括:读取日期格式的数据,使用日期函数处理日期,按指定格式输出日期。读取日期格式的数据即按格式读入数据(formatted input),见系列03。比如,input BirthDate MMDDYY10.;设定默认的百年 07/04/76这样的数据可能是1976,也可能是2076、1776。因此需要YEARCUTOFF = 来指定一个一百年的第一年,默认的是1920年。 例如,下面的语句就是告诉SAS将一个两位年份的日期解释为1960年到2049年之间:OPTIONS YEARCUTOFF = 1950;SAS日期的存取日期一旦被以SAS以日期格式读取之后,就将此数据像其他数值数据一样用在表达式中(日期数值)。例如,像为图书馆的书设定21天的还书日期,只需要在借书日期上加上21:DueDate = CheckDate + 21;通过引号和字母D,可以将一个日期当作常数来使用,下面的代码创建了一个EarthDay05的日期变量,其值等于April 22, 2005EarthDay05='22APR2005'D;2. 使用日期函数处理日期SAS提供的日期函数使得处理日期的操作大大简便。例如,today( ) 返回今天的日期;计算一本书应归还的剩余期限,就可以用:DaysOverDue = DateDue - today();用出生日期Birthdate计算年龄,可以用:CurrentAge = INT (YRDIF (BirthDate, TODAY(), 'AGE') );3. 按指定格式输出日期按指定格式输出日期时,还需要将日期数值转换成日期。例如,下面的FORMAT语句告诉SAS用WORDATE18.格式打印日期变量BirthDate。format BirthDate WORDATE18.;例1 图书馆有借书卡数据,Library.dat,包含持卡人姓名、出生日期、卡办理日期,到期日:![]() ![]() ![]() ![]() 第二个打牌原则,胡大不急小,当玩家小胡有听力棋牌百科棋牌百科,但是还差一步就有大听,此时还应该再等一等,而不是盲目的出牌,这样可以让自己赚到的更多。 |