Format DateTime.Now to yyyy-mm-dd
Solution 1
According to msdn MM
format specifier stands for month and mm
- for minutes.
"mm" | The minute, from 00 through 59.
"MM" | The month, from 01 through 12.
So your code should look like the following:
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");
Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-MM-dd "+ dateString2);
And you will get the desired result
Solution 2
var dateString1 = DateTime.Now.ToString("yyyyMMdd");
var dateString2 = DateTime.Now.ToString("yyyy-MM-dd");
Console.WriteLine("yyyyMMdd " + dateString1);
Console.WriteLine("yyyy-MM-dd "+ dateString2);
You are using "mm" instead of "MM" in your second format. mm is for minutes, MM is for month.
Solution 3
Your miss is lower-case "m" in second format, that determine MINUTES, but you need "M" instead of "m" for MONTHS.
etrupja
Updated on July 18, 2022Comments
-
etrupja almost 2 years
I want to convert the DateTime.Now to the format of
yyyy-mm-dd
since that is the only format that i can use in my query that i want to include.
The defaultformat
ofDateTime.Now
looks like5/1/2008 6:32:06 PM
.
If i want to change the format of it toyyyyMMdd
I could use this line of code:var dateString1 = DateTime.Now.ToString("yyyyMMdd");
But, when i try the same for this
yyyy-mm-dd
format like below:var dateString2 = DateTime.Now.ToString("yyyy-mm-dd");
the result i get is wrong. For the following lines of code:
var dateString1 = DateTime.Now.ToString("yyyyMMdd"); var dateString2 = DateTime.Now.ToString("yyyy-mm-dd"); Console.WriteLine("yyyyMMdd " + dateString1); Console.WriteLine("yyyy-mm-dd "+ dateString2);
I get the following result:
which is wrong for the second case.
What am i missing? -
etrupja over 7 yearsThanks for your solution. This solved my problem but @Mikhail explained the reason so I accepted his answer and up voted yours, too. Thanks