How long depends on the fish and whether the initial problem that caused the tearing is resolved. My betta goes through tail-biting phases and seems rather prone to tears if the water flow from his filter is anything above a trickle, so it takes his fins a while to recover sometimes.
Generally, the fins will knit themselves back together from the body outwards. The regrowth is kind of hard to see, because at first it looks transparent/almost clear, then gradually colors back in. Your betta's coloring may or may not be the same as before the tear, too -- my betta is dark blue with a greenish/gold sheen, plus red undercoloring, but his tears almost always grow back clear and then turn red rather than the blue/blue-green it started as.
Aquarium salt, constant temperatures, and clean, slow-flowing water (if you have a filter) help, as do keeping up with your partial water changes. I think the Stress Coat helps, or at least can't hurt, so I use about 0.5-1mL daily when my betta is healing up. I also soak his food in Seachem Garlic Guard to help support his immune system.
Try to keep him from flaring, too, and if you suspect he's getting excited at his own reflection, consider covering his tank with a towel or pillowcase to keep him calm for a few days.
My betta has had sudden, severe tears almost up to his body that mended up in about a week, but he's also had periods of tail-biting and subsequent fin holes and tears that go on for over a month before he finally gets back to looking decent -- hopefully your betta isn't as self-destructive though. :)