Comment obtenir la date du jour en C # au format mm / jj / aaaa?

105

Comment obtenir la date du jour en C # au format mm / jj / aaaa?

J'ai besoin de définir une variable de chaîne à la date d'aujourd'hui (de préférence sans l'année), mais il doit y avoir un meilleur moyen que de le construire mois - / - jour un morceau à la fois.

BTW: Je suis aux États-Unis donc M / jj serait correct, par exemple le 11 septembre est le 11 septembre.

Remarque: une réponse de kronoz est arrivée qui traitait de l'internationalisation, et j'ai pensé que c'était assez génial pour la mentionner car je ne peux pas en faire une réponse `` acceptée '' également.

réponse de Kronoz

Keng
la source
4
M / jj afficherait le 1 janvier comme 1/01. Voulez-vous 1/01 ou juste 1/1?
Joel Coehoorn le

Réponses:

23

Ne pas être horriblement pédant, mais si vous internationalisez le code, il pourrait être plus utile d'avoir la possibilité d'obtenir la date courte pour une culture donnée, par exemple: -

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

Bien que clairement l'approche «m / jj / aaaa» soit considérablement plus soignée !!

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

est spécifique à la culture.

Il est préférable de s'en tenir à:

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

Je pense que c'est ce que tu cherches

Josh Mein
la source
3

Ou sans l'année:

DateTime.Now.ToString("M/dd")
EBGreen
la source