C# convert DateTime from one format to another

后端 未结 3 1725
鱼传尺愫
鱼传尺愫 2021-01-22 13:31

I thought this would be a really simple, and i\'ve tried to google it and I keep getting the exception String was not recognized as a valid DateTime.

This i

3条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-22 14:14

    When you write DateTime.ParseExact(sample, "MM/dd/yyyy HH:mm", ...), you are saying that sample is in the format MM/dd/yyyy HH:mm. Since it is not, it throws an exception.

    It's important to know that a DateTime does not have any format associated with it. It's only when you convert it to or from a string that format can come into play. You should probably use something like this:

    string sample = "2013-10-21T14:10:49";
    DateTime date31 = DateTime.Parse(sample, System.Globalization.CultureInfo.InvariantCulture);
    string date31string = date31.ToString("MM/dd/yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture);
    // date31string is "10/21/2013 14:10"
    

    Instead of ParseExact, I used Parse, since the format is recognized by Parse, and I don't see much point in limiting what sort of formats it can accept to only that particular format.

提交回复
热议问题