Q:

Why date formats miss matching when adding months

When i am getting current date 28-Mar-2015 formated into txtActDate then adding months to it then i am not understanding why its getting in this 28-Mar-15 format.
DateTime dateTime = DateTime.UtcNow.Date;
txtActDate.Text = dateTime.ToString("dd/MMM/yyyy");
DateTime firstDate = DateTime.ParseExact(txtActDate.Text, "dd/MMM/yyyy", null);
firstDate = firstDate.AddMonths(0);
txtAccExp.Text = firstDate.ToShortDateString();

A:

It's almost certainly because you're asking it to give you the date in short format:
txtAccExp.Text = firstDate.ToShortDateString();

You can get the current short format from your culture with:
using System.Globalization;
:
var dtfi = CultureInfo.CurrentCulture.DateTimeFormat;
Console.WriteLine(dtfi.ShortDatePattern);

In terms of fixing it, you could probably use the same method you used to populate the text field in the first place, so as to ensure it's the desired format:
txtActExp.Text = firstDate.ToString("dd/MMM/yyyy");

