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


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 !!





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");

5
DateTime.Now.Date.ToShortDateString()

Je pense que c'est ce que tu cherches


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.