我正在开发一种应该从美国客户处使用的软件 在我的电脑上(意大利语)我用
CultureInfo cultureUS = CultureInfo.GetCultureInfo("en-US");
DateTime dt = DateTime.Parse(s, cultureUS);
这适用于像星期六,2012年9月8日这样的字符串 但是当我的软件在客户端PC上使用时,他会收到错误
字符串未被识别为有效的DateTime
为什么呢?怎么了?
我应该用它来让它在任何地方都能运作?
修改
为了避免混淆:我从网络和文件中读取这些日期,我需要解析它们然后使用它们(以那种格式)来写一些其他文件。
所以我认为我不需要将它们转换为“标准”格式然后再将它们转换回来:我想从那种格式中使用它们并将它们直接写入文件...
这就是我决定使用我写的代码的原因....
答案 0 :(得分: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);
答案 1 :(得分:0)
我不习惯本地化,但也许这可能适合你:
DateTime.Parse(date, new DateTimeFormatInfo()
{ LongDatePattern = "ddd, MMM dd, YYYY" });
对于我用你的字符串格式抛出的字符串似乎对我有用,但我没有用不同的文化测试它。