He spends almost three hours each day travelling to and from the Edinburgh charity shop where he volunteers.
David does the journey, which involves a 20-minute walk and two different buses, throughout the year in all weathers.
He then puts in a full shift at the St Columba's Hospice shop in Ocean Terminal, sorting through stock, repairing donations, steaming clothes and even fixing the window display.
David, who lives in the west of the city, told BBC Scotland that hard work was the secret to his longevity.
He said: "If they ever closed the shop, I don't know what I would do - I couldn't just sit in the house doing nothing.
"I will try my best to live as long as I can, and will only stop working at the charity shop when I collapse."
The shop's manager, Hazel Harris, described David as "incredible".
The 35-year-old said: "He does all the steaming of the clothes for me and the window displays and repairs things.
"It's surprising how agile he is, nobody believes that he is 99.
"David has so much energy and confidence, I couldn't do my job without him."
Judy Davie, a volunteer at the shop, said David was very popular with the volunteers and the regular customers, who ask for him by name if he is busy in the back shop.
"He is a quiet, selfless gentleman, so inspirational, a true hero and legend," she said.
David keeps his mental agility in check by counting the jigsaw pieces in donation boxes. He also builds model railways on his days off, then auctions them for the charity.
He started working in the charity shop after he was diagnosed with prostate cancer and spent two weeks being cared for by the St Columba's Hospice.
This happened a few years after his wife, Mary, died in 2010 from diabetes at the age of 82.
He met Mary in Rankins fruit shop in Edinburgh. The couple lived and worked in Australia and South Africa before returning to Edinburgh when Mary started to feel homesick.
David recalled that on the boat journey home from Cape Town, the sea was so choppy in the Bay of Biscay that the ship's lifeboats were all smashed up.
"My ancestors are all fishermen though, so I didn't get sea sick," he added.
David, who has two step-children and a niece and three nephews, then worked as a printer in Edinburgh until he retired when he was 72.
"I had tried to retire a few times before that but they kept calling me back. I had more returns than Frank Sinatra," he chuckled.
David grew up in Edinburgh's Newhaven area, and at the age of 17 he joined the Royal Airforce as a gunner.
World War Two had just begun, and after nine months of training he was posted in the desert in North Africa, where he survived a plane crash.
He said: "The undercarriage wouldn't come down, so we were aiming for a pancake landing - but the nose hit a sand dune and we flipped over.
"It was very scary. You just had to hold on.
"We were carrying bombs and high octane fuel, so most planes blow up when they crash - but luckily ours didn't and we were all able to get out.
"I still have scars now from all the large cuts I had trying to pull myself out of the wreckage."
David also fought in Myanmar during the Burma Campaign.
He said: "The conditions were pretty rough, you weren't just fighting the Japanese - we were also fighting disease.
"I had dengue fever and malaria but they didn't send you home, you had to stay there until you were better and then you were sent back out fighting again," he recalled.
So would David now think about living a more relaxed life?
He said: "I went to a community club a couple of years ago.
"They were my age and had started playing cards, but then I noticed they had all fallen asleep half way through the game so I left. It wasn't for me."