gpt4 book ai didi

c# - 什么时候空字符串 ""是有效的 DateTime 字符串格式?

转载 作者:行者123 更新时间:2023-11-30 21:35:13 24 4
gpt4 key购买 nike

看到一个奇怪的问题,在某些系统上,以下代码进入 if 语句(即它返回 true),而在其他系统中它返回 false 并进入 else 语句。我错过了哪些环境条件或框架版本更改?例如 .net Fiddle 返回 true,但我自己的控制台应用程序返回 false。

    DateTime time;
formatText = "";
if (DateTime.TryParse (DateTime.Now.ToString(formatText), CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out time))
{
// If TryParseExact Worked
Console.WriteLine ("True: " + time.ToString ());
}
else
{
// If TryParseExact Failed
Console.WriteLine ("Failed to Parse Date");
}

最佳答案

DateTime 的字符串表示是特定于文化的。

将空字符串或null 作为DateTimeToString 重载的format 参数传递是相同的通过 standard format specifier "G" - 来自 DateTime.ToString Method (String) 的备注部分msdn 页面:

If format is null or an empty string, the general format specifier, 'G', is used.

您正在使用的 TryParse 重载尝试使用 IFormatProvider 格式参数中可用的日期和时间格式解析 DateTime 值 - InvariantCulture 在你的情况下 - 所以当你将 TryParseInvariantCulture 一起使用时,除非你当前的文化 ShortDatePatternLongTimePattern 属性与 InvariantCulture 中的相同,tryParse 将失败。

关于c# - 什么时候空字符串 ""是有效的 DateTime 字符串格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49385474/

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