- SAS教程
- SAS - 主页
- SAS - 概述
- SAS - 环境
- SAS - 用户界面
- SAS - 程序结构
- SAS - 基本语法
- SAS - 数据集
- SAS - 变量
- SAS - 字符串
- SAS - 阵列
- SAS - 数字格式
- SAS - 运营商
- SAS - 循环
- SAS - 决策
- SAS - 函数
- SAS - 输入方法
- SAS - 宏
- SAS - 日期和时间
- SAS 数据集操作
- SAS - 读取原始数据
- SAS - 写入数据集
- SAS - 连接数据集
- SAS - 合并数据集
- SAS - 数据集子集化
- SAS - 排序数据集
- SAS - 格式化数据集
- SAS-SQL
- SAS - 输出传输系统
- SAS - 模拟
- SAS 基本统计程序
- SAS-算术平均值
- SAS-标准差
- SAS - 频率分布
- SAS - 交叉表
- SAS - T 测试
- SAS - 相关性分析
- SAS - 线性回归
- SAS - 布兰德-奥特曼分析
- SAS-卡方
- SAS - 费舍尔精确测试
- SAS - 重复测量分析
- SAS-单向方差分析
- SAS-假设检验
- SAS 有用资源
- SAS - 快速指南
- SAS - 有用的资源
- SAS - 问题与解答
- SAS - 讨论
SAS - 日期和时间
IN SAS 日期是数值的特殊情况。从 1960 年 1 月 1 日开始,每一天都被分配一个特定的数值。该日期的日期值被分配为 0,下一个日期的日期值被分配为 1,依此类推。迄今为止的前几天由 -1 、 -2 等表示。通过这种方法,SAS 可以表示未来的任何日期和过去的任何日期。
当 SAS 从源读取数据时,它会将读取的数据转换为指定的日期格式的特定日期格式。使用所需的正确信息来声明存储日期值的变量。使用输出数据格式显示输出日期。
SAS 日期信息
使用特定的日期信息可以正确读取源数据,如下所示。信息末尾的数字表示使用该信息完整读取的日期字符串的最小宽度。较小的宽度将给出不正确的结果。对于 SAS V9,有通用日期格式anydtdte15。它可以处理任何日期输入。
输入日期 | 日期宽度 | 信息 |
---|---|---|
2014年3月11日 | 10 | mmddyy10。 |
2014年3月11日 | 8 | 嗯ddyy8。 |
2012 年 12 月 11 日 | 20 | 字日期20。 |
2011年3月14日 | 9 | 日期 9. |
2011年3月14日 | 11 | 日期11。 |
2011年3月14日 | 15 | 任何dtdte15。 |
例子
下面的代码显示了不同日期格式的读取。请注意,所有输出值只是数字,因为我们没有对输出值应用任何格式语句。
DATA TEMP; INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10. ; DATALINES; 02-mar-2012 3/02/2012 3/02/2012 ; PROC PRINT DATA = TEMP; RUN;
当执行上面的代码时,我们得到以下输出。
SAS 日期输出格式
读取后的日期可以根据显示需要转换为其他格式。这是通过使用日期类型的格式语句来实现的。它们采用与信息相同的格式。
例子
在下面的示例中,日期以一种格式读取,但以另一种格式显示。
DATA TEMP; INPUT @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.; format DOJ1 date11. DOJ2 worddate20. ; DATALINES; 01/12/2012 02/11/1998 ; PROC PRINT DATA = TEMP; RUN;
当执行上面的代码时,我们得到以下输出。