The east coast of the South Island has been basking in some of the warmest July temperatures for years.
Christchurch, Dunedin and Timaru hit 20 degrees today, and Ashburton was just over 21 degrees.
MetService meteorologist Angus Hines said temperatures didn't quite break records today, but were very close.
He said the temperature in Ashburton reached 21.6C, while the record temperature set in 1998 for this time of the year was 21.9C.
Mr Hines said a number of factors had come together to create the conditions.
"Last week was pretty chilly but calm, so it's been a long time since we've had any cold air pushing up over the country.
"We started with a pretty ambient temperature early this week and through the day today we've had a strong north to northwest flow across the country, which people in Christchurch will be familiar with as producing really warm temperatures."
He said temperatures were about 10C warmer than average today along the east coast of the South Island.
Mr Hines said temperatures would also be unusually warm overnight in parts of the North Island, with Whakatane and Tauranga only dropping to 14 overnight, about 10 degrees higher than average.
The warm weather won't last, with temperatures dropping to a high of 12 in Christchurch and 11 in Dunedin tomorrow.