DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") is returning AM time instead of PM time?
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 :)
Solution 1:
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.
Solution 2:
With 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.
More about string interpolation.