Assigning Calendar to Task and durationFormatter

The task calendar can be linked with the durationFormatter during inline editing

Right now, there is no built-in way to do that. You need to implement a custom solution by using the Gantt API and Javascript.
If you have the same working days for each week, you can define different hours for each calendar:

  {name: "duration_formatted", label:"Duration", resize: true, align: "center", template: function(task) {
  	var hoursPerDay = 8
  	var hoursPerWeek = 40
  	if (task.calendar_id == "custom1"){
      hoursPerWeek = 43
  	if (task.calendar_id == "custom2"){
      hoursPerWeek = 60
  	  hoursPerDay = 12
    var formatted_duration = gantt.ext.formatters.durationFormatter({
    return formatted_duration;
  },width: 100}

Here is the snippet:

The dev team will add that feature in the future, but I cannot give you any ETA.