How long is it supposed to it take for a muscle to heal after a strain?

2-6 weeks. Minor sprains would need about 1-3 weeks, while more severe ones may take 4-6 weeks, as long as the correct diagnosis is a sprain only.