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 default format of DateTime.Now looks like 5/1/2008 6:32:06 PM.
If i want to change the format of it to yyyyMMdd 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?
For the data load to convert the date to 'yyyymmdd' format, I will use CONVERT(CHAR(8), TheDate, 112). Format 112 is the ISO standard for yyyymmdd.
string date = DateTime. ParseExact(SourceDate, "dd/MM/yyyy", CultureInfo. InvariantCulture). ToString("yyyy-MM-dd");
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With