0

我正在尝试转换10/10/2010 12:00:00 a.m.为 dateTime 。我正在使用这个...

DateTime.ParseExact(item.Birthey, "dd/MM/yyyy hh:mm:ss tt", null);

但我明白了String was not recognized as a valid DateTime.

这样做的正确方法是什么?

4

3 回答 3

1

只需简单地尝试使用ParseorParseExact操作字符串命令,例如:

string stringDate= "10/10/2010 12:00:00 P.M.";
var myDate = DateTime.Parse(stringDate.Replace(".", ""));

如果您获得的原始数据以“am”结尾,您也可以尝试以下代码示例。只需替换该字符:

string stringDate= "10/10/2010 12:00:00 a.m.";
DateTime result = DateTime.ParseExact(stringDate.Replace(".", ""), 
                                 "dd/MM/yyyy hh:mm:ss tt", null);
于 2013-01-11T02:53:24.123 回答
1

试试吧

  DateTime.ParseExact("10/10/2010 12:00:00 am", "dd/MM/yyyy hh:mm:ss tt", null).Dump();

.制造a.m.问题。您可以使用 Replace 删除.(因为您的日期格式.只能出现在a.m., 或p.m.

  DateTime.ParseExact("10/10/2010 12:00:00 a.m.".Replace(".",""), "dd/MM/yyyy hh:mm:ss tt", null).Dump();
于 2013-01-11T02:55:28.793 回答
0

尝试指定CultureInfo.InvariantCulture而不是null. 在您的情况下,它使用CultureInfo.CurrentCulture.

于 2013-01-11T03:09:22.323 回答