将月份(日期)转换成完整的月份(字符串)

时间:2018-07-05 17:43:43

标签: spss

我有一个名为Period的日期字段(adate10),其值类似于07/02/2018。

我需要将其转换为类似于“ 2018年7月2日”的字符串。

我可以使用下面的代码来生成一个字符串Period_String,它表示“ JUL 2,2018”。我不知道如何将月份格式化为完整的月份,例如“七月”。创建if / then语句的唯一选择是“ if 1 then 1January”,if 2 then“ February 2”等吗?希望有一种内置格式,但找不到。

* extract each date element, then format.
compute mo = xdate.month(Period).
compute da = xdate.mday(Period).
compute yr = xdate.year(Period).

formats mo (month) da yr (F4.0).
execute.

* concatentate date elements as strings.
string Period_String (a30).
compute Period_String = concat(ltrim(string(mo,month)), " ", ltrim(string(da,F4)), ", ", ltrim(string(yr,F4))).
execute.

1 个答案:

答案 0 :(得分:1)

请参阅修订后的月份格式(month9,而不是month):

compute Period_String = concat(ltrim(string(mo,month9)), " ", ltrim(string(da,F4)), ", ", ltrim(string(yr,F4))).

编辑
使用@mirirai的单线建议+仅使用大写字母输入第一个字母:

string Period_String(a20).
COMPUTE Period_String = CONCAT(
            RTRIM(char.substr(STRING(period,MONTH9),1,1)),
            RTRIM(lower(char.substr(STRING(period,MONTH9),2)))," ",
            LTRIM(STRING(XDATE.MDAY(Period),F2)), ", ", 
            LTRIM(STRING(XDATE.YEAR(period),F4))
            ).
相关问题