CONVERT date format from mm dd yyyy to dd mmm yyyy in c#

I am trying insert asp.net form field values to oracle database table. I have a date field which is in "MM-DD-YYYY" format. I need to add that date to oracle table. So i am trying to convert that date format to "DD-MMM-YYYY" format. But i am getting the following error.

code:

var creation_date = DateTime.ParseExact(CreationDateTextBox.Text, "DD-MMM-YYYY",null);

Text box value is: 12-12-2013.(No time) i am getting error like "String was not recognized as a valid DateTime".

Jon Skeet
people
quotationmark

You need to parse the date using MM-dd-yyyy but then you shouldn't need to format it at all. Just pass it to the database as a DateTime using parameterized SQL.

DateTime creationDate;
if (DateTime.TryParseExact(CreationDateTextBox.Text, "MM-dd-yyyy",
                           CultureInfo.InvariantCulture, DateTimeStyles.None,
                           out creationDate))
{
    // Use creationDate within a database command, but *don't* convert it
    // back to a string.
}
else
{
    // Handle invalid input
}

Avoid string conversions wherever you can. Indeed, ideally use a date/time picker of some description rather than just a text field - that will give users a better experience and reduce the risk of poor conversions.

Also note that whenever you want to use custom string conversions (parsing or formatting) you should read the MSDN docs - YYYY and DD aren't valid format specifiers.

people

See more on this question at Stackoverflow