开发者

String to datetime

开发者 https://www.devze.com 2022-12-29 15:57 出处:网络
I have a string 12012009 input by the user in ASP.NET MVC application. I wanted to convert this to a DateTime.

I have a string 12012009 input by the user in ASP.NET MVC application. I wanted to convert this to a DateTime.

But if I do DateTime.TryParse("12012009", out outDateTime); it returns a false.

So I tried to convert 12012009 to 12/01/2009 and then do DateTime.TryParse("12/01/2009", out outDateTime); which will work

But I don't find 开发者_如何学编程any straight forward method to convert string 12012009 to string "12/01/2009". Any ideas?


First, you need to decide if your input is in day-month-year or month-day-year format.

Then you can use DateTime.TryParseExact and explicitly specify the format of the input string:

DateTime.TryParseExact("12012009",
                       "ddMMyyyy",
                       CultureInfo.InvariantCulture,
                       DateTimeStyles.None,
                       out convertedDate)

See also: Custom Date and Time Format Strings


You can use the DateTime.TryParseExact and pass in the exact format string:

DateTime dateValue = DateTime.Now;
if (DateTime.TryParseExact("12012009", "ddMMyyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue)))
{
   // Date now in dateValue
}


If you want to use that format you will most likely need to specify the format to the parser. Check the System.IFormatProvider documentation as well as the System.DateTime documentation for methods that take an IFormatProvider.


DateTime yourDate = 
    DateTime.ParseExact(yourString, "ddMMyyyy", Culture.InvariantCulture);
0

精彩评论

暂无评论...
验证码 换一张
取 消