How to add literal strings in a DateTime format?

20,307

Solution 1

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

Custom DateTime string formatting

Solution 2

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

Solution 3

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

var now = DateTime.Now;
Console.WriteLine($"{now:dddd, d MMM, yyyy} at {now:HH:mm}");

Solution 4

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");
Share:
20,307
Maximus Decimus
Author by

Maximus Decimus

Updated on January 26, 2020

Comments

  • Maximus Decimus
    Maximus Decimus over 4 years

    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.