"I feel the time is up," said Hafeez. "I am announcing my retirement and feel happy that I worked hard in my career."
Prior to the third and final Test against New Zealand, Hafeez, 38, had played 54 Tests, scoring 3644 runs at 38.35. He has hit 10 hundreds and 12 half-centuries apart from picking 53 wickets with his off-spin. Hafeez made a four-ball duck in the current game.
Hafeez made his Test debut in 2003 against Bangladesh in Karachi, and has since been in and out of the side. He has often run into problems with his bowling action, which has been reported illegal four times by the ICC.
Hafeez hadn't played Test cricket for two years since August 2016 before he made a comeback against Australia in October this year.
He returned to the format in style with a century against Australia in Dubai, but has struggled since then. He has scored only 66 runs from seven innings since that ton, and has picked up only one wicket since his comeback.
Hafeez has also played 203 One-Day Internationals and 89 Twenty20 Internationals, scoring more than 8000 runs combined.
First Published: December 4, 2018, 7:27 PM IST