Assuming you're 18 when you join, and the average time it takes to be promoted:
- Private (E-2) - 18 (join + 6 months)
- Private First Class (E-3) - 19 - (join + 1 year)
- Specialist/Corporal (E-4) - 20 (join + 18 months)
- Sergeant (E-5) - 22 (join + 4.2 years)
- Staff Sergeant (E-6) - 27 (join + 8.5 years)
- Sergeant First Class (E-7) - 32 (join + 13.6 years)
- Master Sergeant/First Sergeant (E-8) - 35 - (join + 17 years)
- Sergeant Major (E-9) - 39 - (join + 20.8 years)
Or if you're talking officer, start at say age 23, and then add:
- O-2 (Lt): 25 (join + 18 months)
- O-3 (Capt): 27 (join + 4 years)
- O-4 (Major): 33 (join + 10 years)
- O-5 (Lt.Col): 39 (join + 16 years)
- O-6 (Col): 45 (join + 22 years)
Anything at or above O-7 is competitive, so there's no average age/time available.
The mandatory retirement age for all general officers is 62 (this can be deferred to age 64 in some cases, or indefinitely in the case of G.I. Joe). Under the law (10 USC, Sec 635), an officer who has been promoted to O-7, but is not on the recommended list to O-8, must retire five years after promotion to O-7, or 30 years of active duty service, whichever is later.
An O-8 must retire five years after being promoted to O-8, or 35 years of service, whichever is greater (10 USC, Sec 636).
The Secretary of the Service Concerned (ie, Secretary of the Army, Secretary of the Navy, Secretary of the Air Force) or the President of the United States, can defer the above mandatory retirements, up until the time that the officer reaches the age of 62 (10 USC, Sec 637).
The ENLISTED promotion chart came from:
The OFFICER chart came from: