如何在AnyChart Gantt Resource中配置工作日与节假日?求解决方案
配置Resource甘特图的工作日与节假日方法
我之前也跟你一样,在配置Resource甘特图的工作日和节假日时踩过坑,其实不同工具的配置逻辑核心是相通的,下面分几种主流场景给你详细拆解:
一、Microsoft Project 配置步骤
- 先打开更改工作时间对话框:点击顶部「项目」选项卡,找到并点击「更改工作时间」即可进入
- 定义标准工作日:在「标准」日历页面,默认是周一到周五为工作日,如果需要调整每天的工作时长,双击对应日期,在弹出的「例外详细信息」窗口里设置具体的开始/结束时间
- 添加节假日:切换到「例外日期」选项卡,输入节假日名称,选择对应的开始和结束日期,系统会自动标记为「非工作日」;如果是每年重复的节假日(比如元旦、春节),可以点击「详细信息」按钮设置重复规则(每年、每月等)
- 关联资源专属日历:如果是针对特定资源的工作时间配置,打开「资源信息」对话框,为该资源选择自定义日历,或者直接修改其专属的工作时间规则
二、Jira Resource Management 配置
- 进入「资源管理」模块,找到左侧菜单的「日历」设置入口
- 创建或编辑团队/资源日历:点击「添加日历」,先设置基础工作日(比如勾选周一到周五,配置每日的工作时段)
- 添加节假日例外:在日历编辑页面,点击「添加例外」,选择需要标记为非工作时间的日期范围,保存即可
- 关联到资源或项目:将配置好的日历分配给对应的资源或项目,确保甘特图计算任务进度时使用这个自定义日历
三、开源甘特图库(以DHTMLX Gantt为例)
如果是开发自定义的甘特图应用,核心是通过代码定义日历规则:
- 首先开启工作时间计算,并配置每周工作日:
// 启用工作时间计算 gantt.config.work_time = true; // 设置每周从周一开始 gantt.config.start_on_monday = true; // 定义工作日:1=周一,5=周五 gantt.config.work_days = [1,2,3,4,5];
- 然后添加节假日,通过
addMarkedTimespan方法标记非工作时间:
// 添加单个节假日(2024年元旦) gantt.addMarkedTimespan({ start_date: new Date(2024, 0, 1), end_date: new Date(2024, 0, 2), type: "vacation", css: "gantt_nonworking_day" }); // 批量添加节假日 const holidayList = [ {start: new Date(2024, 1, 10), end: new Date(2024, 1, 17)}, // 春节假期 {start: new Date(2024, 4, 1), end: new Date(2024, 4, 3)} // 五一假期 ]; holidayList.forEach(item => { gantt.addMarkedTimespan({ start_date: item.start, end_date: item.end, type: "vacation", css: "gantt_nonworking_day" }); });
- 配置完成后,甘特图的任务工期计算会自动排除非工作日和节假日
如果你的工具不在上述列表里,核心逻辑都是这三步:定义基础工作日历(每周工作天数、每日时长)→添加例外节假日(标记为非工作时间)→将日历关联到资源/项目,让甘特图的进度计算以此为依据。
内容的提问来源于stack exchange,提问作者migrafik
相关产品推荐
相关产品推荐

