一个用户的DateTime.TryParse失败

mic*_*kus 6 c# datetime

我需要在我的程序中解析日期,但它在一个用户的机器上失败(在丹麦).这对我的同事来说很有效,据我所知,他们都有相同的设置.

代码如下:

DateTime result;
if (DateTime.TryParse(InputBox.Text, out result))
    YyyymmddField.Text = result.ToString("yyyyMMdd");
else
    YyyymmddField.Text = "(invalid)";
Run Code Online (Sandbox Code Playgroud)

CurrentCultureda-DK和他配置的格式是:yyyy.MM.dd.我要解析的日期字符串是2015.07.14.无论当前的文化如何,这都适用于我们的机器(瑞典).它也适用于他的同事,但不适合他.

我们在全球拥有数百名用户,据我们所知,他是唯一失败的计算机.

除了当前的事情CultureInfo会影响如何TryParse运作吗?

Son*_*nül 7

无论当前的文化如何,这都适用于我们的机器(瑞典)

不,没有这样的事情.如果您使用DateTime.TryParse没有任何IFormatProvider,它将使用CurrentCulture当前机器的设置.

文件 ;

使用当前DateTimeFormatInfo对象中的格式信息解析字符串s ,该信息 由当前 线程文化隐式提供.

我使用的是.NET Framework 4.5,其中只有7种文化AllCultures,没有标准的日期和时间格式.如果你不能/不能告诉我们你的其他同事是什么CurrentCulture,我会假设他会从我的角度使用其中一个.

ar
bn
ml
ar-SA
bn-IN
ml-IN
bn-BD
Run Code Online (Sandbox Code Playgroud)

而不是那种混乱,你可以使用的InvariantCulture是你的字符串有一个稳定的格式,yyyy.MM.dd而不是希望他的CurrentCulture设置将解析它.