MetService meteorologist Lewis Ferris said Oamaru also exceeded 20degC, reaching a high of 21.8 degC at 3pm.
That was the fourth-warmest August temperature on record, he said.
Dunedin reached a high of 20.6degC, which was the fifth-warmest August day on record.
Millers Flat also hit the 20degC mark, while Alexandra, Balclutha and Roxburgh fell just short.
Mr Ferris said at this time of the year maximum temperatures averaged around 11degC to 13degC.
While yesterday’s temperatures surpassed that, it was not “unprecedented”, and no records were broken, he said.
The warmer weather was a result of a northwest foehn wind.
Similar temperatures were expected again today, he said.