Time to two digit value

Hello!
I made a temperature logger which logs the temperature along with time/date from RTC module. But when the hour or minute or second is one digit, it does not show the zero in front.

For example:
13:4:0

But I would like to see:
13:04:00

The code that I am using

DateTime now = rtc.now();

myfile = SD.open(filename, FILE_WRITE);
myfile.print(now.hour(), DEC);
myfile.print(":");
myfile.print(now.minute(), DEC);
myfile.print(":");
myfile.print(now.second(), DEC);

Can someone help me how to accomplish this?

see here:

I might also add that it may be the library you are using to read the RTC. I haven't worked with RTC's in a while, but i do not remember this being an issue when I was...

... of course, I was not "printing" the values from the RTC, I was building "unique" servo and stepper motor clocks and I was just getting values from my RTC, so the "digit format" would not have really mattered to me...

DateTime now = rtc.now();


myfile = SD.open(filename, FILE_WRITE);
if (now.hour() < 10)
  myfile.print('0');
myfile.print(now.hour(), DEC);
myfile.print(":");
if (now.minute() < 10)
  myfile.print('0');
myfile.print(now.minute(), DEC);
myfile.print(":");
if (now.second() < 10)
  myfile.print('0');
myfile.print(now.second(), DEC);

Thank you!