gpt4 book ai didi

c# - DateTime.ParseExact 格式问题

转载 作者:行者123 更新时间:2023-11-30 14:43:34 26 4
gpt4 key购买 nike

我有日期时间字符串,看起来可能类似于以下任何内容:

"1 13 2009 2300", "1 14 2009 0", "1 14 2009 100"

我需要将其解析为 DateTime。

我试过:

string[] sExpectedFormats = {"M d yyyy Hmm", "M d yyyy hmm", "M d yyyy 0"};
DateTime dtReportDateTime = DateTime.ParseExact(sReportDateTime,
sExpectedFormats,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None);

但它在第三个“1 14 2009 100”上失败了。我不确定要使用什么格式?

为澄清起见,我在提要中将此数据作为日期部分“1 14”和时间部分“100”获取,因此将其连接起来以便解析为 DateTime。

谢谢

最佳答案

怀疑它将“100”解释为“10”后跟“0”——即将 H 或 h 解析为“10”,然后找不到两位数的分钟。

坦率地说,我很想在解析之前手动重新格式化字符串,以便它始终以 4 位数字而不是 3 位数字结尾。虽然我通常不推荐它们,但这听起来确实像是正则表达式的工作:)

顺便说一句,我不确定为什么您同时拥有“H”和“h”格式 - 它永远不会与第二种格式匹配,因为对第二种格式有效的任何内容对第二种格式都有效首先。

如果你按照我的建议预先修复了字符串,那么你就可以使用

{"M d yyyy HHmm", "M d yyyy 0"}

关于c# - DateTime.ParseExact 格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1798174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com