Eighteen-time Olympic gold medallist Michael Phelps won the 100m butterfly at the USA National Championships in a world-best time – a day after doing the same in the 200m butterfly.

Phelps, excluded from the World Championships by USA Swimming after a drink-drive conviction, clocked 50.45 seconds.

Hours earlier, South African rival Chad Le Clos swam 50.56 to win world gold.

“I haven’t been that fast in a really long time,” Phelps, 30, said.

On Friday Phelps won the American 200m butterfly title in one minute 52.94 seconds at the meet in San Antonio, Texas – 0.54 seconds faster than Hungary’s Laszlo Cseh swam in winning the world title in Kazan, Russia.

Phelps, who was convicted of drink-driving in December and served a six-month ban from competition, now has a record 55 national titles.