Converting a string to DateTime object

前端 未结 5 607
轮回少年
轮回少年 2021-01-16 15:57

I want to convert a string in a specific format to a DateTime.

My specific string format is \"dd-mm-yyyy\".

I cannot do any string

相关标签:
5条回答
  • 2021-01-16 16:21

    This sounds like a localization problem - if that is the case I recommend using one of the overloads of DateTime.parse that accepts a System.IFormatProvider. From the docs:

    Type: System.IFormatProvider
    An object that supplies culture-specific format information about s. 
    

    This also allows your code to be flexible - if the date format ever changes in the future to support a different culture, you can just change the format provider.

    0 讨论(0)
  • 2021-01-16 16:21
    var convertedDate = DateTime.ParseExact("04-05-2010","dd-MM-yyyy",CultureInfo.InvariantCulture);
    
    0 讨论(0)
  • 2021-01-16 16:29

    Try DateTime.ParseExact

    DateTime.ParseExact("01-05-2009", "dd-MM-yyyy", null)

    0 讨论(0)
  • 2021-01-16 16:33
    string m = "11-02-1983";
    
    var culture = CultureInfo.CreateSpecificCulture("fr-FR");
    var styles = DateTimeStyles.None;
    
    DateTime date;
    if (DateTime.TryParse(m, culture, styles, out date))
    {
        //grabbed date successfully
    }
    else
    {
        //epic fail
    }
    
    0 讨论(0)
  • 2021-01-16 16:43

    It seems you want the static ParseExact method to which you can specify the actual date-time format.

    var convertedDate = DateTime.ParseExact(input, "dd-MM-yyyy", null);
    

    (Depending on the context, you may also want to specify CultureInfo.InvariantCulture instead of null/current culture as an argument.)

    0 讨论(0)
提交回复
热议问题