Jak uzyskać dzisiejszą datę w C # w formacie mm / dd / rrrr?


105

Jak uzyskać dzisiejszą datę w C # w formacie mm / dd / rrrr?

Muszę ustawić zmienną łańcuchową na dzisiejszą datę (najlepiej bez roku), ale musi być lepszy sposób niż budowanie tego miesiąca - / - dnia po jednym kawałku na raz.

BTW: Jestem w USA, więc M / DD byłoby poprawne, np. 11 września to 9/11.

Uwaga: nadeszła odpowiedź od firmy Kronoz, która dotyczyła internacjonalizacji i pomyślałem, że jest wystarczająco fajna, aby o niej wspomnieć, ponieważ nie mogę również uznać jej za akceptowaną.

odpowiedź Kronoza


4
M / dd pokaże 1 stycznia jako 1/01. Chcesz 1/01 czy tylko 1/1?
Joel Coehoorn

Odpowiedzi:



23

Nie żeby być okropnie pedantycznym, ale jeśli internacjonalizujesz kod, może być bardziej przydatne, aby mieć możliwość uzyskania krótkiej daty dla danej kultury, np .: -

using System.Globalization;
using System.Threading;

...

var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
  string shortDateString = DateTime.Now.ToShortDateString();
  // Do something with shortDateString...
} finally {
  Thread.CurrentThread.CurrentCulture = currentCulture;
}

Chociaż wyraźnie podejście „dd / dd / rrrr” jest znacznie schludniejsze !!





8
DateTime.Now.Date.ToShortDateString()

zależy od kultury.

Najlepiej trzymać się:

DateTime.Now.ToString("d/MM/yyyy");

5
DateTime.Now.Date.ToShortDateString()

Myślę, że właśnie tego szukasz


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.