日期时间格式的字符串

本文关键字:字符串 格式 时间 日期 | 更新日期: 2023-09-27 17:51:22

我正在尝试将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.

正确的做法是什么?

日期时间格式的字符串

只需尝试ParseParseExact操作字符串命令,如:

string stringDate= "10/10/2010 12:00:00 P.M.";
var myDate = DateTime.Parse(stringDate.Replace(".", ""));
如果您获得的原始数据以"a.m."结尾,您也可以尝试下面的代码示例。只需要替换这些字符:
string stringDate= "10/10/2010 12:00:00 a.m.";
DateTime result = DateTime.ParseExact(stringDate.Replace(".", ""), 
                                 "dd/MM/yyyy hh:mm:ss tt", null);

试试

  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();

尝试指定CultureInfo.InvariantCulture而不是null。在您的例子中,它使用CultureInfo.CurrentCulture