gpt4 book ai didi

c# - ParseExact 不解析带有日期的字符串,带有序数但没有年份的日期

转载 作者:行者123 更新时间:2023-11-30 14:54:55 28 4
gpt4 key购买 nike

我已经查看了 Parse very long date format to DateTime in C# 的答案它对解决我的问题有一点帮助,但我担心我可能会陷入一个不相关的问题,因此打开了这个新线程。

日期作为我无法控制的字符串进入我的流程。它们始终代表 future 的日期。一个示例是“11 月 26 日星期三 18:30”。请注意,日期有序数,没有年份。

我需要将它们放入 DateTime 结构中,这样我就可以...好吧,对它们执行 DateTime 操作!

我目前正在使用以下代码片段(根据上述问题进行调整),但它在最后一个条件上仍然失败,我希望它能通过。

public DateTime ParseOrdinalDateTime(string dt)
{
DateTime d;
if (DateTime.TryParseExact(dt, "dddd d\"st\" MMMM \"at\" hh:mm", null, DateTimeStyles.AssumeLocal, out d))
return d;
if (DateTime.TryParseExact(dt, "dddd d\"nd\" MMMM \"at\" hh:mm", null, DateTimeStyles.AssumeLocal, out d))
return d;
if (DateTime.TryParseExact(dt, "dddd d\"rd\" MMMM \"at\" hh:mm", null, DateTimeStyles.AssumeLocal, out d))
return d;
if (DateTime.TryParseExact(dt, "dddd d\"th\" MMMM \"at\" hh:mm", null, DateTimeStyles.AssumeLocal, out d))
return d;

throw new InvalidOperationException("Not a valid DateTime string");
}

最佳答案

如果您收到的是 24 小时制时间,那么您应该将字符串解析为 "dddd d\"th\"MMMM\"at\"HH:mm"(注意大写的 Hs ).

关于c# - ParseExact 不解析带有日期的字符串,带有序数但没有年份的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697510/

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