我需要在程序中解析日期,但是在一个用户的计算机上失败(丹麦)。据我所知,它适用于所有具有相同设置的同事。
该代码如下所示:
DateTime result;
if (DateTime.TryParse(InputBox.Text, out result))
YyyymmddField.Text = result.ToString("yyyyMMdd");
else
YyyymmddField.Text = "(invalid)";
CurrentCulture
是da-DK
,他的配置格式是:yyyy.MM.dd
。我要解析的日期字符串是2015.07.14
。不管当前的文化如何,它都可以在我们的机器上(瑞典)运行。它也适用于他的同事,但不适用于他。
我们在全局拥有数百名用户,据我们所知,他是唯一发生故障的计算机。
除了当前的
CultureInfo
之外的其他东西会影响TryParse
的工作方式吗? 最佳答案
不,没有这样的事情。如果您使用不带任何DateTime.TryParse
的IFormatProvider
,它将使用当前计算机的CurrentCulture
设置。
从documentation;
我正在使用.NET Framework 4.5,并且AllCultures
内部只有7种文化,没有这种文化作为标准日期和时间格式。如果您不愿意/不能告诉我们您其他同事的CurrentCulture
是什么,我认为他会在我看来使用其中之一。
ar
bn
ml
ar-SA
bn-IN
ml-IN
bn-BD
您可以使用
InvariantCulture
来避免困惑,因为您的字符串具有像yyyy.MM.dd
这样的稳定格式,而不必希望他的CurrentCulture
设置可以解析或不解析。关于c# - DateTime.TryParse对一位用户失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31161267/