# SPSS:从日期变量中提取星期几
[www.spss-tutorials.com](/spss-syntax-examples) 提供 SPSS 语法示例。
本教程由
## 1. 创建空白测试数据
`mydate` 的日期变量,并用一系列 0 值填充,以便后续生成日期范围。
首先,我们创建一个名为
```spss
DATA LIST FREE/mydate.
BEGIN DATA
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
END DATA.
DATA LIST FREE/mydate.
:定义一个名为mydate
的自由格式变量。BEGIN DATA
和END DATA
:界定数据输入区域,此处输入一些初始值 0。
2. 创建日期范围
使用 datesum
函数生成一个从 2016 年 1 月 1 日开始的日期序列,并将其存储在 mydate
变量中。
COMPUTE mydate = DATESUM(DATE.DMY(1,1,2016),$CASENUM,'days').
FORMATS mydate(DATE11).
EXECUTE.
COMPUTE mydate = DATESUM(DATE.DMY(1,1,2016),$CASENUM,'days').
:计算mydate
的值。DATE.DMY(1,1,2016)
表示 2016 年 1 月 1 日,$CASENUM
表示当前个案(行)的编号,'days'
表示以天为单位增加。DATESUM
函数将 2016 年 1 月 1 日加上个案编号对应的天数,从而生成一个日期序列。FORMATS mydate(DATE11).
:将mydate
的格式设置为 DATE11,这是一种日期格式,以易于阅读的形式显示日期。EXECUTE.
:执行上述命令。
3. 提取星期几
使用 XDATE.WKDAY
函数从 mydate
变量中提取星期几,并将其存储在名为 myday
的新变量中。注意:XDATE.WKDAY
函数返回的 1 代表星期日(Sunday),而不是星期一。
COMPUTE myday = XDATE.WKDAY(mydate).
EXECUTE.
COMPUTE myday = XDATE.WKDAY(mydate).
:计算myday
的值,即mydate
对应的星期几。EXECUTE.
:执行上述命令。
4. 为星期几赋值标签 (Value Label)
为了方便理解 myday
变量的值,我们为其添加值标签 (Value Label),将数值 1 到 7 分别对应到星期日到星期六。
VALUE LABELS myday
1 'Sunday'
2 'Monday'
3 'Tuesday'
4 'Wednesday'
5 'Thursday'
6 'Friday'
7 'Saturday'.
VALUE LABELS myday
:指定要添加值标签的变量是myday
。1 'Sunday'
:将数值 1 标签为 ‘Sunday’(星期日),以此类推。
现在,myday
变量将显示对应的星期几,而不是数字 1-7。 ```