【问题标题】:How to convert date field to this format 2018 / 01如何将日期字段转换为这种格式 2018 / 01
【发布时间】:2018-11-07 21:09:59
【问题描述】:

我的表格中有一个日期字段为 char "01jan2017"

我想将日期字段转换成这种格式"2018 / 01",并且正斜杠之间应该有空格。

谢谢

【问题讨论】:

  • 你尝试了什么?您是否查看过 SAS 格式帮助文档“格式字典”?消费者会对 YYMMS 输出感到满意吗?
  • @ASH 感谢您之前的评论。请在下面找到我的答案。

标签: date sas format base


【解决方案1】:

如果您要查找的内容只是为了显示,那么这里是字符转换

data r;
  date = '01jan2017'd;
  date1 = compbl(put(year(date),best.)|| " / "||put(month(date),z2.));
run;

【讨论】:

    【解决方案2】:

    您需要执行三个关键步骤:

    catx(' / ',year(input(date_char,date9.)),put(month(input(date_char,date9.)),z2.));
    
    1. 将日期转换为date9.格式以提取年月,
    2. 使用z2. 格式获取月份的前导零,
    3. 使用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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 2019-01-07
      相关资源
      最近更新 更多