将日期列转换为正确的sas日期并创建年/月列,从该日期开始,即11FEB13:22:59:00创建年列

将日期列转换为正确的sas日期并创建年/月列,从该日期开始,即11FEB13:22:59:00创建年列,sas,Sas,我有一个日期列,类型为数字,格式为日期时间,信息为anydtm40 数据如下所示: Date 11FEB13:22:59:00 29NOV13:18:03:00 在此日期列之外,我需要创建年和月列 然而,当我尝试: DATA Final; Set Final; Year = Year(Date); Run; 我在年份列中收到空值。尝试使用格式 set Final; format date date9.; Run; DATA Final; Set Final; Year = year(dat

我有一个日期列,类型为数字,格式为日期时间,信息为anydtm40

数据如下所示:

Date
11FEB13:22:59:00
29NOV13:18:03:00
在此日期列之外,我需要创建年和月列

然而,当我尝试:

DATA Final;
Set Final;
Year = Year(Date);
Run;
我在年份列中收到空值。

尝试使用格式

 set Final;
format date date9.;
Run;
DATA Final;
Set Final;
Year = year(date);
Run;

假定
date
变量包含日期时间值:

year_int = YEAR(DATEPART(date));
SAS日期和日期时间值是具有不同解释的数字。日期值是从历元开始的天数,日期时间是秒数

提取这些值的不同方面有不同的功能:

日期时间示例

  • YearPart(
  • 时间段(
  • DateTime()
    -当前系统日期时间
日期示例

  • 年份(日期值)
  • 月份(
  • 天(
这些函数类的最佳组织参考之一是在文档中找到的,文档中包含了多达36个不同的函数

房间也很干净


Base SAS文档在第

页中列出了相同的日期和时间函数,但仍然收到空白,我相信格式化日期不会改变实际值,当我使用Year()函数时,我会收到null.data final2;最后定案;格式化日期9。;跑我试过了,它抛出了一个错误:语句无效或使用顺序不正确。