The 24-year-old was injured early in the first period of Saturday's game against the Montreal Canadiens.
Hanifin was tangling with Canadiens forward Corey Perry along the boards near the Flames bench when his left leg went out from underneath him. Hanifin's shoulder made contact with the ice as he went down.
The 6-foot-3, 215-pound defender has four goals and 11 assists and was a minus-2 in 47 games this season.
The loss of a top-four defenseman may hurt Calgary's faint playoff hopes.
Headed into Monday, the Flames were four points back of the Canadiens, who were holding down the North Division's fourth and final playoff spot. The two teams play each other Monday night, but Montreal has a game in hand on Calgary.
The Associated Press contributed to this report.