2013-10-03 21 views
30

Czy można dodać słowo "w" między formatem daty i czasu? Próbowałem dodać go tak jak ten "dddd, d MMM, yyyy na hh: mm", ale webapp jest tranforming go do "AA" lub "AP" w zależności od regionu CA konfiguracyjnym lub AUJak dodać ciągi literałów w formacie DateTime?

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

Zapomniałem powiedzięć. Muszę być ciągiem formatującym i bez funkcji złożonych lub concat.

Odpowiedz

69

Tak, trzeba uciec słowo poprzez umieszczenie go w ' znaków dddd, d MMM, yyyy 'at' HH:mm

Custom DateTime string formatting

+3

Link pokazuje również, że "T" zostanie zastąpiony AM/PM, wyjaśniając wstępnych wyników. –

+1

+1 Ten link pokazuje również, że Google może szybko znaleźć ci odpowiedź ...;) – EvilGeniusJamie

2

innych odpowiedzi są znacznie lepsze, ale:

var now = DateTime.Now; 

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

lub bliżej do formatowania:

var str = now.ToString("dddd, d MMM, yyyy") + " at " + now.ToString("HH:mm"); 
22
Console.WriteLine(DateTime.Now.ToString("dddd, d MMM, yyyy 'at' HH:mm")); 
0

Poprawa @DaveDev odpowiedź przy użyciu C# 6 Stringi Interpolacja

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