Question: which actor has played james bond the longest?
Answer: Daniel Craig overtakes Roger Moore this weekend to become cinema's longest-serving James Bond. As of Saturday, Craig will have held the role of 007 for 5,119 days - almost exactly 14 years. The British actor officially took on the mantle of the world's most famous secret agent on October 14 2005.