JOHANNESBURG, South Africa – South Africa batsman AB de Villiers hit a century off 31 balls to record the fastest ever one-day international ton.

De Villiers, 30, set the new landmark during an innings of 149 against the West Indies in Johannesburg.

He smashed eight fours and 10 sixes in beating the previous ODI record of 36 balls by New Zealand all-rounder Corey Anderson against West Indies last year.

South Africa went on to beat West Indies by 148 runs in the second One-Day International of the five-match series. Scores:

SOUTH AFRICA 439 for two off 50 overs (Hashim Amla 153, AB de Villiers 149, Rilee Roussouw 128; Andre Russell 1-78)

WEST INDIES 291 for seven off 50 overs (Dwayne Smith 64, Denesh Ramdin 57, Marlon Samuels 40, Jonathan Carter 40, Darren Sammy 25 not out, Jason Holder 21 not out; Morne Morkel 2-43, Vernon Philander 2-69)