使用DateTime.PraseExact,String未被识别为有效的日期时间异常

时间:2015-05-06 16:59:22

标签: c# datetime

我想将日期时间转换为特定格式并将其保存到Object类型的变量中,但我面临错误,因为 String未被识别为有效的DateTime

在我尝试的代码下面

string regDate = DateTime.ParseExact("05/07/2015 19:41:06 PM", "MM-dd-yyyy HH:mm tt", CultureInfo.InvariantCulture);

输入格式为" 05/07/2015 19:41:06 PM"我想要mm / dd / yyyy格式的输出也是小时 - 分钟 - 。

2 个答案:

答案 0 :(得分:4)

你得到的错误是合理的,因为你传递的字符串没有确切的格式,你传递给var regDate = DateTime.ParseExact("05/07/2015 19:41:06 PM", "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);

请尝试以下方法:

Convert.ToString("05/07/2015 19:41:06 PM")

此外,您无需像在此处import pandas as pd a1 = pd.read_csv('a1.txt', header= None ,escapechar=';') b1 = pd.read_csv('b1.txt', header= None) a1[2] = b1[3] a1.to_csv('c.txt',index=False,header= False) 那样将字符串转换为字符串。

选中AC_CHECK_HEADER

答案 1 :(得分:1)

我无法发表评论或我愿意。你需要结合Christos'回答和Imranullah Khan的评论

var regDate = DateTime.ParseExact("05/07/2015 19:41:06", "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

var regDate = DateTime.ParseExact("05/07/2015 07:41:06 PM", "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

您不能在24小时内(19:41:06)包含AM / PM。因此,要么降低PM和tt,要么包含tt并将HH更改为hh,然后将时间更改为07:41:06。