【问题标题】:Parsing string into Datetime将字符串解析为日期时间
【发布时间】:2015-11-10 15:57:05
【问题描述】:

这听起来可能很愚蠢,但我正在努力将一些 String 解析为一些 DateTime

使用DateTime.ParseExact 应该很容易做到这一点,但问题是我什至无法分辨出模式是什么。

string[] patterns = new string[] {"dd/MM/yyyy", "ddMMyyyy", "dd/MM/yyyy HH:mm:ss"};
DateTime test = DateTime.ParseExact(DatMEC, patterns, CultureInfo.InvariantCulture,DateTimeStyles.None);

我曾经以这种方式将我的String 转换为DateTime,但在某些情况下,我遇到了一些解析错误。

我记录了String 以检查格式,这就是导致异常的原因:

String dateException="2/1/2004 12:00:00 AM"

我想知道什么是合适的模式? 我尝试了以下方法:

"dd/MM/yyyy HH:mm:ss aaa"
"d/M/yyyy HH:mm:ss a"
"M/d/yyyy HH:mm:ss a"
"MM/dd/yyyy HH:mm:ss aaa"

但它们似乎都不起作用。

我错过了什么吗?我什至想知道它是否可解析?

【问题讨论】:

    标签: c# datetime


    【解决方案1】:

    您需要使用单日和月份数字 dM 并使用 hh specifier 而不是 HH,因为现在是 12-hour clock 时间。还 tt specifier 用于 AM 指示符。

    d/M/yyyy hh:mm:ss tt
    

    进一步阅读:

    【讨论】:

    • 它确实有效。一旦你这么说,这似乎很合乎逻辑啊哈。谢谢森纳!祝你有美好的一天!
    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 2012-01-28
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多