gpt4 book ai didi

c# - DateTime TryParseExact 不解析类似的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 23:11:03 26 4
gpt4 key购买 nike

我在使用 DateTime.ParseExact(..) 将 DateTime 值的字符串表示形式解析回 DateTime 实例时遇到问题方法。

出于某种原因,使用具有不同值的类似格式化字符串(或者我可能是盲人)对值 A) 有效,而对值 b) 无效,我一定在这里遗漏了一些东西..但我就是不能找到它:

var d1 = "14/10/2013 2:16:18 PM";
var d2 = "27/08/2016 12:20:34 PM";

var dFormat = "dd/MM/yyyy H:mm:ss tt";

DateTime dt = DateTime.MinValue; // out value for .TryParseExact(..)
var tryParseResultD1 = DateTime.TryParseExact(d1, dFormat, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
var tryParseResultD2 = DateTime.TryParseExact(d2, dFormat, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);

tryParseResultD1.Dump(); // << returns False
tryParseResultD2.Dump(); // << returns True

.. 由于某种原因,尝试解析“d1”字符串不起作用,但解析“d2”却起作用,我不知道为什么。

有人知道或看到这里发生了什么吗?

最佳答案

您应该将 H 更改为 h

h 代表小时,使用从 1 到 12 的 12 小时制

H 代表小时,使用从 0 到 23 的 24 小时制

在你的例子中,你想要一个从 1 到 12 的 12 小时制:

var dFormat = "dd/MM/yyyy h:mm:ss tt";

关于c# - DateTime TryParseExact 不解析类似的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39180116/

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