Need parse dd.MM.yyyy to DateTime using TryParse

前端 未结 8 1712
孤街浪徒
孤街浪徒 2021-01-17 09:51

I need to parse string to DateTime. The string is always in the following format

\"10.10.2010\" That means dd.MM.yyyy, separated with dots.

I want to use Dat

8条回答
  •  伪装坚强ぢ
    2021-01-17 10:30

    TryParse doesn't let you specify the format - but you can use TryParseExact:

    DateTime date;
    if (DateTime.TryParseExact(text, "dd'.'MM'.'yyyy",
                               CultureInfo.InvariantCulture,
                               DateTimeStyles.None,
                               out date))
    {
       // Success
    }
    else
    {
       // Parse failed
    }
    

    Note that the dot doesn't strictly need to be escaped with the quotes, but personally I like to put any literal text in quotes just to make sure that it won't be changed. It's a personal preference thing though - you could certainly just use "dd.MM.yyyy" if you wanted.

    Likewise I've specified the invariant culture which is what I normally do for a fixed custom style - but you could make it use the current culture or a specific other culture if you wanted. When you're using a custom style (rather than a standard style such as "long date") it's less likely to make any difference, admittedly.

提交回复
热议问题