chip pearson has made similar function long time ago.
VBA Procedures For Dates And Times (cpearson.com)