将像“mm / dd / yyyy hh:mm:ss tt”这样的字符串转换为DateTime

问题描述 投票:-1回答:1

我必须将像10/23/2017 12:00:00 AM这样的字符串转换为DateTime。

(通过引用qazxsw poi)

Convert string to Datetime dd/MM/yyyy hh:mm:ss tt

当我运行给定的代码时,我得到一个:

System.FormatException

错误进一步说明了这一点

字符串未被识别为有效的DateTime。

如何将字符串转换为DateTime?

c# string datetime
1个回答
5
投票

解析时的大多数问题都是由于格式字符串不正确 - 这就是这里的情况。看看你的格式字符串:

DateTime date1 = DateTime.ParseExact(dateString, "mm/dd/yyyy hh:mm:ss tt",
        System.Globalization.CultureInfo.InvariantCulture);

这意味着:

  • 2位数分钟
  • 2位数的日期
  • 4位数年份
  • 2位数小时的半天(1-12)
  • 2位数分钟
  • 2位数秒
  • 上午/下午指定人

那里有两个可疑的方面:

  • 你指的是两次分钟。你真的意味着第一部分的月份,这意味着你想要mm/dd/yyyy hh:mm:ss tt
  • 您指定的是两个小时的半小时,很少使用。我希望看到“8:00:00 AM”而不是“08:00:00 AM”。

所以我怀疑你想要一个格式字符串:

MM

完整代码:

MM/dd/yyyy h:mm:ss tt
© www.soinside.com 2019 - 2024. All rights reserved.