The FFVII universe uses an odd year-numbering system with four numerical places, so I'll be using that for the following.
Cloud is fifteen when Crisis Core starts (0001), and the Nibelheim incident happens a little over a year later (0002). He and Zack are kept by Hojo for four years before they escape (0006). They remain on the run for a year before Zack is killed outside Midgar (0007). Cloud, now 21, goes straight to Midgar after this. Tifa finds him delirious at the train station, and his false memories become coherent upon seeing her and he "becomes" who he is at the start of FFVII. She persuades him to join AVALANCHE, but is really only doing so to keep an eye on him, as she'd noticed he was acting strangely.
AC takes place two years after the original game (0009), putting Cloud at 23.
It is a bit tough to figure out Cloud's age and the relevant information, given his conflicting backstories. Hopefully, though, this clears things up.