Authenticator app 2FA codes are based on time and thus require the time on your phone to be in-sync with the official time.
You can disconnect your phone from the internet and as long as its time is still correct, it will successfully generate correct 2FA codes. However, manual time settings and offline devices eventually slip out of sync.
If your phone's time is out of sync, or if you have changed time zones, the best way to fix it is to change the time settings on your phone from "Manual" to "Automatic". If it is already set to 'Automatic' toggle it off and on to re-sync the app.
|On iPhone||On Android|
Android instructions may vary slightly depending on the manufacturer of the phone.
Alternatively, you can try the Time Sync feature if you use Google Authenticator for Android.