The MID RIGHT LEFT functions (and others) always return a string, BUT that string can be coerced to become a number if it is involved in an arithmetic operation.
Adding 0 or multiplying by one or exp1 will do the trick without affecting the value
Also if you had something like =MID(...)+MID(....) the coercion would work .
Also be aware that XL does not know what a date is. In fact it sees any date as a number which is the number of days elapsed since 1/1/1900.
One day being 1, an hour being 1/24, etc..
It's only the formatting that makes the difference.
Nevertheless if you type a date, XL will recognize it and display it as typed, but in the background it's still a number. Try formatting a date as number to see the effect
More info at
http://www.cpearson.com/excel/datetime.htm#AddingDates