1

我正在开发一个应该由美国客户使用的软件。
在我的电脑(意大利语)上,我使用

CultureInfo cultureUS = CultureInfo.GetCultureInfo("en-US");
DateTime dt = DateTime.Parse(s, cultureUS);

这适用于Sat, Sep 8, 2012 之类的字符串。
但是当我的软件在客户电脑上使用时,他得到了错误

字符串未被识别为有效的 DateTime

为什么?怎么了?
我应该用什么让它到处工作?

编辑:
为了避免混淆:我从网络和文件中读取了这些日期,我需要解析它们,然后使用它们(以那种格式)来编写其他文件。
所以我认为我不需要将它们转换为“标准”格式,然后再将它们转换回来:我想从那种格式中使用它们并将它们直接写入文件......
这就是我决定使用我写的代码....

4

2 回答 2

0

你可能想看看DateTime.ParseExact

CultureInfo cultureInfo = CultureInfo.GetCultureInfo("en-US");
DateTime dateTime = DateTime.ParseExact(s, "D", cultureInfo);

编辑

对于确切的时间日期格式,您可以尝试:

DateTime dateTime = DateTime.ParseExact(s, "ddd, MMM dd, yyyy", cultureInfo);
于 2012-10-17T15:06:27.527 回答
0

我不习惯本地化,但也许这对你有用:

DateTime.Parse(date, new DateTimeFormatInfo()
                         { LongDatePattern = "ddd, MMM dd, YYYY" });

对于我以您的字符串格式向它抛出的字符串,它似乎对我有用,但我没有用不同的文化对其进行测试。

于 2012-10-17T15:54:25.783 回答