This morning Fang told me he was going to move out, and I accidentally said yes, but I don't want him to! I know I can fix it.
How long does it take for him to talk about moving out again, so that I can convince him to stay?
Tomorrow. Or load up your second character, if you have one, and talk to Fang. If they are not close friends, most probably would easily convince Fang to stay (even if you say See Ya!, villagers are petty like that, but of course tell him to stay).
To verify it, load up your Mayor again and Fang could ping you telling he changed his mind because of an unfinished business or something.
If he said he's moving out in 10 days, keep talking to him over the next couple days and he might say something like "I can't believe I'm moving soon!" and it'll give you the option to say no. I'm not 100% on that but I'm pretty sure I had a villager do that to me once.
did you try quitting without saving, you'll loose all the days progress but Fang will ping you again.
He'll bring it up again later at some point, if you talk to him, just keep talking to him during the next few days.
You could also perform the diving trick to help speed things along with a ping from him. You put on your wetsuit and swim to the very edge of the map for five minutes and then try to run by him before anyone else. I did this when one of my neighbors tried to move before and dug holes around them so I knew where they were right away.
If you just have the mayor living in your town you can make a new player.
Later I changed my mind and made a new player. The villager mentioned the move to the new player on his first day. New player stopped the move. Later she told the mayor she was moving.