Assuming 01-05-2012 is a string, first convert it to a DateTime:
DateTime dt = DateTime.ParseExact("01-05-2012", "dd-MM-yyyy", CultureInfo.InvariantCulture);
Then you can format the DatetIme as you wish:
string s = dt.ToString("ddd,d MMM,yyyy");
There is a full list of the formatting strings here:
Formatting a DateTime for display - format string description[
^]