The centre-back suffered the problem in the last-16 win against Switzerland but decided to continue in the quarter-final against Morocco, where it worsened.
Dias has been a mainstay in City’s side this season but it was Nathan Ake and Aymeric Laporte that started together in the 3-2 Carabao Cup win against Liverpool on Thursday.
City had been hopeful that Dias could return in the New Year but scan results show he will miss at least the next five matches.
That means Pep Guardiola will be without Dias for crucial matches against Chelsea, Tottenham and Manchester United.
Guardiola confirmed after the victory against Liverpool that Dias is unavailable, while Kalvin Phillips is also injured.
‘Ruben is injured. Kalvin Phillips is not fit, he did not arrive in the best condition to play,’ Guardiola said.
City are tracking Arsenal in the Premier League and trail Mikel Arteta’s side by five points ahead of the restart.
With Kyle Walker unavailable, Rico Lewis started against Liverpool at the Etihad.
Guardiola insisted the teenager was Man of the Match and predicted a huge future for him at the club.
Without him, we couldn’t have played the way we played,’ the City boss said.
‘Today he was against a real senior team. It’s about how he is without the ball. We have the privilege to almost announce that he will be an incredible player for City over the next years.
‘He understands everything in one second and apples it so quickly. He always plays good, but against Liverpool? He is 18. Outstanding. He was man of the match.’
For more stories like this, check our sport page.