I'm trying to get the current time via DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
However, this is spitting out a time 12 hours off of what we want.
For example:
What it spits out: 11/14/2011 2:24:56 am
What we want: 11/14/2011 2:24:56 pm
What noob mistake are we making?
Any help is greatly appreciated :)
22 Answers
Use HH for 24 hour hours format:
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") Or the tt format specifier for the AM/PM part:
DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") Take a look at the custom Date and Time format strings documentation.
1With C#6.0 you also have a new way of formatting date when using string interpolation e.g.
$"{DateTime.Now:yyyy-MM-dd HH:mm:ss}" Can't say its any better, but it is slightly cleaner if including the formatted DateTime in a longer string.