You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAS中是否有函数可实现年积日与日期的互转?

SAS日期与年积日互转的简洁函数实现

1. 年积日(1-365)转mm/dd/2020格式日期

直接用DATEJUL函数就能完成转换,完全不需要硬编码月份天数或写复杂条件判断:

  • 核心逻辑:把2020年的年积日拼接成儒略日格式(2020000 + 年积日,比如年积日2对应2020002),DATEJUL函数会自动将其转为SAS内部日期值,再通过格式指定显示样式。

示例代码:

data converted_dates;
  set your_dataset;
  /* 生成SAS内部日期值 */
  sas_date = datejul(2020000 + day_num);
  /* 格式化为mm/dd/2020的样式 */
  format sas_date mmddyy10.;
run;

注:day_num是你数据集中代表年积日的变量;MMDDYY10.格式会自动输出带前导零的日期(如01/02/2020)。

2. 日期(如01/02/2020)转年积日

用DAYOFYEAR函数可直接获取对应日期的年积日整数:

  • 注意:函数参数必须是SAS内部日期值,如果你的日期是字符型,需要先通过INPUT函数转换。

示例代码:

情况1:日期为SAS内部日期值

data doy_calc;
  set your_date_dataset;
  /* 直接计算年积日 */
  day_of_year = dayofyear(input_date);
run;

情况2:日期为字符型(如'01/02/2020')

data doy_calc;
  set your_char_date_dataset;
  /* 先将字符日期转为SAS内部日期值 */
  sas_date = input(date_char, mmddyy10.);
  /* 计算年积日 */
  day_of_year = dayofyear(sas_date);
run;

内容的提问来源于stack exchange,提问作者glico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:47:08