【发布时间】:2018-11-07 21:09:59
【问题描述】:
我的表格中有一个日期字段为 char "01jan2017",
我想将日期字段转换成这种格式"2018 / 01",并且正斜杠之间应该有空格。
谢谢
【问题讨论】:
-
你尝试了什么?您是否查看过 SAS 格式帮助文档“格式字典”?消费者会对 YYMMS 输出感到满意吗?
-
@ASH 感谢您之前的评论。请在下面找到我的答案。
我的表格中有一个日期字段为 char "01jan2017",
我想将日期字段转换成这种格式"2018 / 01",并且正斜杠之间应该有空格。
谢谢
【问题讨论】:
如果您要查找的内容只是为了显示,那么这里是字符转换
data r; date = '01jan2017'd; date1 = compbl(put(year(date),best.)|| " / "||put(month(date),z2.)); run;
【讨论】:
您需要执行三个关键步骤:
catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
date9.格式以提取年月,z2. 格式获取月份的前导零,Catx() 连接年、月和'/'。完整代码:
data want;
date_char="01jan2017";
dateYYMM=catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
run;
输出:
date_char=01jan2017 dateYYMM=2017 / 01
【讨论】: