77 votes

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") renvoie l'heure AM au lieu de l'heure PM ?

J'essaie d'obtenir l'heure actuelle via DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")

Cependant, cela donne un décalage de 12 heures par rapport à ce que nous voulons.

Par exemple :

Ce qu'il crache : 11/14/2011 2:24:56 am

Ce que nous voulons : 11/14/2011 2:24:56 pm

Quelle erreur de débutant faisons-nous ?

Toute aide est la bienvenue :)

189voto

Oded Points 271275

Utilisez HH pour le format des heures de 24 heures :

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")

Ou le tt spécificateur de format pour le AM/PM partie :

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt")

Jetez un coup d'œil à la chaînes de format de date et d'heure personnalisées documentation.

6voto

Callum Points 780

Avec C#6.0, vous disposez également d'une nouvelle façon de formater les dates lors de l'utilisation de l'interpolation de chaînes de caractères, par exemple.

$"{DateTime.Now:yyyy-MM-dd HH:mm:ss}"

Je ne peux pas dire que ce soit mieux, mais c'est un peu plus propre si l'on inclut la date et l'heure formatées dans une chaîne plus longue.

En savoir plus sur l'interpolation des chaînes de caractères.

-2voto

Mohan Points 1
DateTime.Now.ToString("yyyy-MM-dd");

Cette fonction renvoie la chaîne de caractères au format date comme 2013-03-20 qui peuvent être stockées dans la base de données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X