Since the "tt" format string specifier displays only uppercase, you will have to change this yourself. In addition, DateTimes does not save the time zone name, but only the offset.
DateTime dt = DateTime.Now; string ampm = dt.ToString("tt").ToLower(); string output = string.Format("{0:MMM. d, yyyy h:mm}{1}", dt, ampm);
John Sheehan Jan 15 '09 at 22:05 2009-01-15 22:05
source share