44

Is it possible to add the word "at" between a Date and Time format? I tried to add it just like this "dddd, d MMM, yyyy at HH:mm" but the webapp is tranforming it into "aA" or "aP" depending of regional configuration CA or AU

Console.WriteLine(DateTime.Now.ToString("dddd, d MMM, yyyy at HH:mm"));

I forgot to say. I must be as a format string and no complex or concat functions.

jessegavin
  • 74,067
  • 28
  • 136
  • 164
Maximus Decimus
  • 4,901
  • 22
  • 67
  • 95

4 Answers4

95

Yes, you need to escape the word by putting it in ' marks dddd, d MMM, yyyy 'at' HH:mm

Custom DateTime string formatting

Darren Kopp
  • 76,581
  • 9
  • 79
  • 93
24
Console.WriteLine(DateTime.Now.ToString("dddd, d MMM, yyyy 'at' HH:mm"));
5

Improving @DaveDev answer using C# 6's String Interpolation

var now = DateTime.Now;
Console.WriteLine($"{now:dddd, d MMM, yyyy} at {now:HH:mm}");
asakura89
  • 531
  • 1
  • 12
  • 20
3

The other answers are far better, but:

var now = DateTime.Now;

var str = now.ToString("d MMM yyyy") + " at " + now.ToString("HH:mm");

or closer to your formatting:

var str = now.ToString("dddd, d MMM, yyyy") + " at " + now.ToString("HH:mm");
DaveDev
  • 41,155
  • 72
  • 223
  • 385