string basePath = @"c:\temp";
var myDate = DateTime.Now;
DirectoryInfo di = Directory.CreateDirectory(Path.Combine(basePath, myDate.Year.ToString()));
di = Directory.CreateDirectory(Path.Combine(di.FullName, myDate.ToString("MMMM")));
di = Directory.CreateDirectory(Path.Combine(di.FullName, myDate.ToString("dd-MM-yyyy")));
You can also do it with one CreateDirectory call, in this fashion:
string basePath = @"c:\temp";
var myDate = DateTime.Now;
Directory.CreateDirectory(Path.Combine(Path.Combine(Path.Combine(basePath, myDate.Year.ToString()), myDate.ToString("MMMM")), myDate.ToString("dd-MM-yyyy")));