1

我正在尝试将字符串转换为 DateTime,在一台计算机上,它工作正常,但在另一台计算机上,它没有!它工作的计算机正在运行 32 位 Windows 7,它不工作的计算机正在运行 64 位 Windows 7。下面是代码:

            for (int i = 0; i < (lines / 5); i++)
            {
                MessageBox.Show(stringArray[(i * 5) + 4]);
                TransactionList.Add(new Transaction
                {
                    TotalEarned = Convert.ToDouble(stringArray[(i * 5)]),
                    TotalCost = Convert.ToDouble(stringArray[(i * 5) + 1]),
                    TotalHST = Convert.ToDouble(stringArray[(i * 5) + 2]),
                    Category = stringArray[(i * 5) + 3],
                    HoursSince2013 = Convert.ToDateTime(stringArray[(i * 5) + 4])
                });
            }

MessageBox只是为了检查哪个字符串无法转换,就是这样,在第一次迭代中:10/26/2013 11:58:03 AM

任何线索为什么这无法在我的一台计算机上转换?我完全糊涂了……

谢谢!弥敦道

4

1 回答 1

6

任何线索为什么这无法在我的一台计算机上转换?

最常见的原因是文化差异。由于您没有指定特定的文化,因此使用系统上的当前文化。

尝试使用:

HoursSince2013 = Convert.ToDateTime(stringArray[(i * 5) + 4], CultureInfo.InvariantCulture)
于 2013-11-04T18:16:38.493 回答