C #: Comment pourrais-je obtenir l’heure actuelle dans une chaîne?

Comment pourrais-je obtenir l’heure actuelle h / m / s AM dans une chaîne? Et peut-être aussi la date sous forme numérique (01/02/09) dans une autre?

Je voudrais juste signaler quelque chose dans ces réponses. Dans une chaîne de format date / heure, «/» sera remplacé par le séparateur de date de l’utilisateur , et «:» sera remplacé par le séparateur de temps de l’utilisateur . C’est-à-dire si j’ai défini mon séparateur de date comme étant “.” (dans l’applet du panneau de configuration Options régionales et linguistiques, “intl.cpl”), et mon séparateur de temps doit être “?” (fais semblant que je suis fou comme ça), alors

DateTime.Now.ToSsortingng("MM/dd/yyyy h:mm tt") 

retournerais

  01.05.2009 6? 01 PM 

Dans la plupart des cas, c’est ce que vous voulez, car vous souhaitez respecter les parameters de l’utilisateur. Si, cependant, vous avez besoin que le format soit quelque chose de spécifique (par exemple, s’il est analysé par quelqu’un d’autre), alors vous devez échapper à ces caractères spéciaux:

 DateTime.Now.ToSsortingng("MM\\/dd\\/yyyy h\\:mm tt") 

ou

 DateTime.Now.ToSsortingng(@"MM\/dd\/yyyy h\:mm tt") 

qui retournerait maintenant

  01/05/2009 18h01 

EDIT :

Là encore, si vous voulez vraiment respecter les parameters de l’utilisateur, vous devez utiliser l’une des chaînes de format de date / heure standard, afin de respecter non seulement les choix des séparateurs de l’utilisateur, mais également le format général de la date et / ou de l’heure. .

 DateTime.Now.ToShortDateSsortingng() DateTime.Now.ToSsortingng("d") 

Les deux retourneraient “1/5/2009” en utilisant les options américaines standard, ou “05/01/2009” en utilisant les options standard du Royaume-Uni, par exemple.

 DateTime.Now.ToLongDateSsortingng() DateTime.Now.ToSsortingng("D") 

Les deux retourneraient “lundi 5 janvier 2009” aux Etats-Unis, ou “05 janvier 2009” au Royaume-Uni.

 DateTime.Now.ToShortTimeSsortingng() DateTime.Now.ToSsortingng("t"); 

“18h01” aux Etats-Unis, “18h01” au Royaume-Uni.

 DateTime.Now.ToLongTimeSsortingng() DateTime.Now.ToSsortingng("T"); 

“18h01: 04” aux Etats-Unis, “18:01:04” au Royaume-Uni.

 DateTime.Now.ToSsortingng() DateTime.Now.ToSsortingng("G"); 

“1/5/2009 6:01:04 PM” aux Etats-Unis, “05/01/2009 18:01:04” au Royaume-Uni.

De nombreuses autres options sont disponibles. Consultez la documentation pour les chaînes de format de date et heure standard et les chaînes de format de date et heure personnalisées .

Vous pouvez également utiliser des chaînes de format.

 ssortingng time = DateTime.Now.ToSsortingng("hh:mm:ss"); // includes leading zeros ssortingng date = DateTime.Now.ToSsortingng("dd/MM/yy"); // includes leading zeros 

ou des raccourcis si le format fonctionne pour vous

 ssortingng time = DateTime.Now.ToShortTimeSsortingng(); ssortingng date = DateTime.Now.ToShortDateSsortingng(); 

L’un ou l’autre devrait fonctionner.

 DateTime.Now.ToSsortingng("h:mm tt") DateTime.Now.ToSsortingng("MM/dd/yyyy") 

Voici quelques chaînes de format commun

Méthode pour obtenir la date et l’heure du système dans une seule chaîne

 public static ssortingng GetTimeDate() { ssortingng DateTime = System.DateTime.Now.ToSsortingng("dd-MM-yyyy HH:mm:ss"); return DateTime; } sample OUTPUT :-16-03-2015 07:45:15 

Soyez prudent lorsque vous accédez à DateTime.Maintenant, deux fois, comme il est possible que les appels passent à minuit, vous obtiendrez des résultats loufoques en de rares occasions et vous vous laisserez gratter la tête.

Pour être sûr, vous devez d’abord affecter DateTime.Now à une variable locale si vous voulez l’utiliser plus d’une fois:

 var now = DateTime.Now; var time = now.ToSsortingng("hh:mm:ss tt"); var date = now.ToSsortingng("MM/dd/yy"); 

Notez que l’utilisation de minuscules “hh” permet d’afficher les heures de 00 à 11 même l’après-midi et “tt” pour afficher AM / PM, comme la question demandée. Si vous voulez 24 heures 00-23, utilisez “HH”.

 ssortingng t = DateTime.Now.ToSsortingng("h/m/s tt"); ssortingng t2 = DateTime.Now.ToSsortingng("hh:mm:ss tt"); ssortingng d = DateTime.Now.ToSsortingng("MM/dd/yy"); 

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx