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

在JavaScript中基于基准日期生成未来120天的日期数组

生成指定基准日期的未来120天日期数组

下面给你几种主流编程语言的实现方案,都能解析yyyymmdd格式的基准日期,生成包含未来120天(含基准日当天)的dd-mm-yyyy格式日期数组:

JavaScript 实现

// 输入的基准日期字符串(yyyymmdd格式)
const baseDateStr = '20230926';
// 解析为Date对象(注意月份是0起始,所以要减1)
const baseDate = new Date(
  parseInt(baseDateStr.slice(0, 4)),
  parseInt(baseDateStr.slice(4, 6)) - 1,
  parseInt(baseDateStr.slice(6, 8))
);

const dateArray = [];
for (let i = 0; i < 120; i++) {
  // 每次创建新的Date对象,避免修改原基准日期
  const currentDate = new Date(baseDate);
  currentDate.setDate(baseDate.getDate() + i);
  
  // 格式化日期为dd-mm-yyyy,不足两位补0
  const day = String(currentDate.getDate()).padStart(2, '0');
  const month = String(currentDate.getMonth() + 1).padStart(2, '0');
  const year = currentDate.getFullYear();
  
  dateArray.push(`${day}-${month}-${year}`);
}

// 输出结果数组
console.log(dateArray);

Python 实现

借助datetime模块可以轻松处理日期计算和格式化:

from datetime import datetime, timedelta

# 输入基准日期
base_date_str = "20230926"
# 解析为datetime对象
base_date = datetime.strptime(base_date_str, "%Y%m%d")

date_array = []
for i in range(120):
    # 计算当前日期
    current_date = base_date + timedelta(days=i)
    # 格式化为dd-mm-yyyy
    date_str = current_date.strftime("%d-%m-%Y")
    date_array.append(date_str)

print(date_array)

Java 实现(Java 8+)

使用Java 8引入的LocalDate类,日期处理更简洁:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;

public class DateGenerator {
    public static void main(String[] args) {
        String baseDateStr = "20230926";
        // 解析基准日期
        LocalDate baseDate = LocalDate.parse(baseDateStr, DateTimeFormatter.ofPattern("yyyyMMdd"));
        
        List<String> dateArray = new ArrayList<>();
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        
        for (int i = 0; i < 120; i++) {
            LocalDate currentDate = baseDate.plusDays(i);
            dateArray.add(currentDate.format(outputFormatter));
        }
        
        System.out.println(dateArray);
    }
}

以上方案都会生成包含120条记录的数组,从基准日当天开始,依次往后递推119天,完全符合你给出的示例格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:45:03