gpt4 book ai didi

.net - 如何 TryParseExact 只包含基于 24 小时的字符串?

转载 作者:行者123 更新时间:2023-12-04 05:40:59 26 4
gpt4 key购买 nike

它只是不想工作:

DateTime time;

DateTime.TryParseExact("17", "HH", ..., out time);
// works fine

DateTime.TryParseExact("9", "HH", ..., out time);
// works fine, but 9 doesn't match HH (nor should it)

DateTime.TryParseExact("9:", "H':'", ..., out time);
// works fine

DateTime.TryParseExact("9", "H", ..., out time);
// exception: "Input string was not in a correct format"

#3 有效的事实提供了一个明显的解决方法,但如果我在其他人的代码中看到它,它就是让我成为“WTF”的事情之一。是 TryParseExact马车什么的?

最佳答案

您可以使用 DateTime.TryParseExact("5", "%H", null, DateTimeStyles.None, out time) .

要解析 24 小时制中的小时而不带前导零,可能会尝试仅使用 "H"格式,但是一个 custom date and time format必须由两个或更多字符组成,这将导致 "H"被解释为 standard date and time format ,导致格式异常。

来自 MSDN on Custom Date and Time Format Strings :

To use any of the custom date and time format specifiers as the only specifier in a format string (that is, to use the "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", or "/" custom format specifier by itself), include a space before or after the specifier, or include a percent ("%") format specifier before the single custom date and time specifier.



我更喜欢包括 %在之前签名,因为我发现之前或之后的空格可能会被解释为打字错误并被其他人删除。

关于.net - 如何 TryParseExact 只包含基于 24 小时的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683023/

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