time print problem

why do it not put a "0" before minutes when it do before hours?

// make a string for assembling the data to log:
String dataString = "";

// Assemble Strings to log data
String theyear = String(now.year(), DEC); //"integer" converting integer into a string
String mon = String(now.month(), DEC); //"integer" converting integer into a string
String theday = String(now.day(), DEC); //"integer" converting integer into a string
String thehour = String(now.hour(), DEC); //"integer" converting integer into a string
String themin = String(now.minute(), DEC); //"integer" converting integer into a string
// Serial.println(now.minute());
//nul før minutter hvis under 10
if(now.minute()<10){
dataString = String (theday + "/" + mon + "-" + theyear + ", " + thehour + ":" + "0" + themin + " | ");
}//nul før timer hvis under 10
if(now.hour()<10){
dataString = String (theday + "/" + mon + "-" + theyear + "," +"0" + thehour + ":" + themin + " | ");
}
else{
//Put all the time and date strings into one String
dataString = String (theday + "/" + mon + "-" + theyear + ", " + thehour + ":" + themin + " | ");
}

(deleted)