Daniel Craig is now the second longest-serving James Bond of all time reports NME.

The current 007 has now spent 4,147 days in the role, overtaking his predecessor Pierce Brosnan, who spent 4,146 days as Bond.

However, he'll need to spend another two-and-a-half years as the British agent to take the number one spot from Roger Moore, who spent 5,118 days in the role.

The figures cover the period from the day each actor was announced as Bond until the day his successor was officially named.

Whether Craig will return as Bond though has been uncertain for some time, with the actor stating in a 2015 interview that he'd "rather slash my wrists" than play Bond again. However last year further comments from the actor suggested he hadn't ruled out a return as 007.

If Craig does decide against another turn as Bond other names in the running include Tom Hardy, Aidan Turner from BBC's "Poldark" and James Norton from the BBC's recent adaptation of "War and Peace."

Idris Elba and Tom Hiddleston have also previously been rumoured to be linked to the role.

The full rankings compiled by the Press Association can be found below.

1. Roger Moore - 5,118 days

2. Daniel Craig - 4,147 days

3. Pierce Brosnan - 4,146 days

4. Sean Connery - 3,049 days

5. Timothy Dalton - 2,863 days

6. George Lazenby - 875 days