如何删除 1 的 DHTMLX 甘特图持续时间偏移量

How to remove DHTMLX Gantt Duration Offset of 1

我有一个显示当前项目持续时间的甘特图。此甘特图正在从 phpmyadmin 数据库加载数据。 例如,在我的数据库中有一个 id: 1 text: project1 start_date: 2020-02-28 00:00:00 duration: 0 因此它应该显示此任务的持续时间为 0。所有持续时间为 0 且此 start_date 的项目都在 2020-02-27 前一天开始,任务显示的持续时间为 1.

  gantt.config.date_format = "%Y-%m-%d %H:%i"; 
   gantt.config.duration_unit = "hour"

gantt.config.scales = [
    {unit: "month", step: 1, format: "%F, %Y"},
    {unit: "week", step: 1, format: function (date) {
        return "Week #" + gantt.date.getWeek(date);
    }},
    {unit: "day", step: 1, format: "%D", css: function(date) {
    if(!gantt.isWorkTime({ date: date, unit: "day"})){
            return "weekend"
        }
    }}
];

    gantt.config.work_time = true; 
    gantt.templates.scale_cell_class = function(date){
        if(!gantt.isWorkTime(date)){
      return "weekend";
        }
    };
// 0 refers to Sunday, 6 - to Saturday
    gantt.ignore_time = function(date){
   if(date.getDay() == 0 || date.getDay() == 6)
    return true;
        };


gantt.init("gantt_here"); 
gantt.load("/api/data");

var dp = new gantt.dataProcessor("/api");
dp.init(gantt);
dp.setTransactionMode("REST");

工作时间是从 0 点到 8 点(8 小时),从周一到周五。我不知道为什么我在 start_date.

时有 +1 小时的偏移量和 -1 天的偏移量

项目任务忽略预定义日期参数(start_dateend_dateduration)并从其子项中获取这些参数。如果没有子任务,项目将尝试从其他任务中获取日期。如果图表中只有 project 个任务,甘特图会将当前日期分配给项目。

遗憾的是,无法更改其工作方式。您可以使用 task_class 模板更改项目任务的宽度:

https://docs.dhtmlx.com/gantt/api__gantt_task_class_template.html

例如:

http://snippet.dhtmlx.com/5/cecc50a97

但您将无法更改日期。

您需要使用不同的任务类型或实施自定义解决方案。