Wie erhalte ich das heutige Datum in C # im Format MM / TT / JJJJ?

105

Wie erhalte ich das heutige Datum in C # im Format MM / TT / JJJJ?

Ich muss eine Zeichenfolgenvariable auf das heutige Datum setzen (vorzugsweise ohne das Jahr), aber es muss einen besseren Weg geben, als sie Monat für Tag Stück für Stück zu erstellen.

Übrigens: Ich bin in den USA, also wäre M / dd richtig, zB der 11. September ist der 11. September.

Hinweis: Es kam eine Antwort von kronoz, in der die Internationalisierung besprochen wurde, und ich fand sie großartig genug, um sie zu erwähnen, da ich sie auch nicht als "akzeptierte" Antwort verwenden kann.

Kronoz 'Antwort

Keng
quelle
4
M / dd würde den 1. Januar als 1/01 anzeigen. Willst du 1/01 oder nur 1/1?
Joel Coehoorn

Antworten:

23

Nicht schrecklich pedantisch zu sein, aber wenn Sie den Code internationalisieren, ist es möglicherweise nützlicher, die Möglichkeit zu haben, das kurze Datum für eine bestimmte Kultur zu erhalten, z. B.: -

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;
}

Obwohl eindeutig der "m / tt / jjjj" -Ansatz wesentlich ordentlicher ist !!

ljs
quelle
13
DateTime.Now.ToString("dd/MM/yyyy");
Corin Blaikie
quelle
8
string today = DateTime.Today.ToString("M/d");
Billy Jo
quelle
8
DateTime.Now.Date.ToShortDateString()

ist kulturspezifisch.

Am besten bleiben Sie bei:

DateTime.Now.ToString("d/MM/yyyy");
Corin Blaikie
quelle
5
DateTime.Now.Date.ToShortDateString()

Ich denke, das ist es, wonach Sie suchen

Josh Mein
quelle
3

Oder ohne das Jahr:

DateTime.Now.ToString("M/dd")
EBGreen
quelle