为什么有时DateTime.TryParse工作和其他时间只有DateTime.ParseExact工作?

时间:2012-02-07 02:37:27

标签: c#

我有两台笔记本电脑,包括windows xp sp3,vs 2010和目标框架.Net 3.5。处理DateTime变量时,我发现使用laptop1

DateTime oldOrderDate;
string strnewdate = string.Empty;
CultureInfo provider = CultureInfo.InvariantCulture;

if (DateTime.TryParse(items[1], out oldOrderDate))                                    
    strnewdate = oldOrderDate.ToString("yyyy-MM-dd");

返回异常“字符串未被识别为有效日期时间”,但代码如下:

oldOrderDate = DateTime.ParseExact(items[1], "dd/MM/yyyy", provider);
strnewdate = oldOrderDate.ToString("yyyy-MM-dd");

的工作原理。 OTOH,带笔记本电脑2,

oldOrderDate = DateTime.ParseExact(items[1], "dd/MM/yyyy", provider);
strnewdate = oldOrderDate.ToString("yyyy-MM-dd");

返回异常“字符串未被识别为有效日期时间”,但代码如下:

if (DateTime.TryParse(items[1], out oldOrderDate))                                    
    strnewdate = oldOrderDate.ToString("yyyy-MM-dd");

的工作原理。所以,我的问题是如何处理DateTime变量以在两台笔记本电脑中工作。我真的很感激你能给我的任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定,但请查看控制面板中日期和时间的区域设置。在我的系统中,它们也有所不同,因此结果不同。