C# 使用自定义格式的日期时间分析

C# 使用自定义格式的日期时间分析,c#,C#,我正在尝试使用以下方法分析datetime值: DateTime insertedDateTime = DateTime.ParseExact(tokens[0] + " " + tokens[1], "yyyy-MM-dd mm:hh:ss", CultureInfo.InvariantCulture); //tokens[0] = 2013-09-05 //tokens[1] = 07:23:32 我得到这个错误: 字符串未被识别为有效的日期时间 任何帮助都将不胜感激。您应该写: Da

我正在尝试使用以下方法分析datetime值:

DateTime insertedDateTime = DateTime.ParseExact(tokens[0] + " " + tokens[1], "yyyy-MM-dd mm:hh:ss", CultureInfo.InvariantCulture);

//tokens[0] = 2013-09-05 
//tokens[1] = 07:23:32
我得到这个错误:

字符串未被识别为有效的日期时间

任何帮助都将不胜感激。

您应该写:

DateTime insertedDateTime = DateTime.ParseExact(tokens[0] + " " + tokens[1], "yyyy-MM-dd mm:HH:ss", CultureInfo.InvariantCulture);
因为
hh
表示12小时的时间,
hh
表示24小时的时间,在12小时的时间内将23作为小时是无效的:)

当然,如果您确定时间是秒,并且不想编写
HH:mm:ss
HH:mm:ss
(对于12h格式)

你应该写:

DateTime insertedDateTime = DateTime.ParseExact(tokens[0] + " " + tokens[1], "yyyy-MM-dd mm:HH:ss", CultureInfo.InvariantCulture);
因为
hh
表示12小时的时间,
hh
表示24小时的时间,在12小时的时间内将23作为小时是无效的:)

当然,如果您确定时间是秒,并且不想编写
HH:mm:ss
HH:mm:ss
(对于12h格式)


时间应该先到:
“yyyy-MM-dd hh:MM:ss”


注:考虑使用24小时<代码> HH <代码>格式,而不是12小时<代码> HH < /代码>格式。

小时应先行:<代码>“YYYY MM DD HH:MM:SS”< /代码>


<>注释:考虑使用24小时<代码> HH <代码>格式,而不是12小时<代码> HH 格式。

< P>你应该改变你的<代码>:HH:SS > <代码> HH:mm:SS 因为你首先给出了字符串小时部分。
DateTime insertedDateTime = DateTime.ParseExact(2013-09-05 07:23:32, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture);
Console.WriteLine(insertedDateTime);
输出将是

9/5/2013 7:23:32 AM
这里有一个

获取更多信息


您应该将
mm:hh:ss
更改为
hh:mm:ss
,因为您首先给出了字符串小时部分

DateTime insertedDateTime = DateTime.ParseExact(2013-09-05 07:23:32, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture);
Console.WriteLine(insertedDateTime);
输出将是

9/5/2013 7:23:32 AM
这里有一个

获取更多信息

尝试使用

string strdate= "yourdate";
DateTime.ParseExact(strdate, "M/d/yyyy hh:mm", CultureInfo.InvariantCulture);
尝试使用

string strdate= "yourdate";
DateTime.ParseExact(strdate, "M/d/yyyy hh:mm", CultureInfo.InvariantCulture);

“时间应该放在分钟之前。”沙卡尔佩什,我在“当然”之后的评论中写道什么?你看过整篇文章了吗?我的代码很好用,所以否决权不公平,我道歉。我不能取消否决票,你可以投赞成票。干杯。时间应该放在分钟之前。@shahkalpesh和我在“当然”之后的评论中写的是什么?你看过整篇文章了吗?我的代码很好用,所以否决权不公平,我道歉。我不能取消否决票,你可以投赞成票。干杯,这行不通。在回答这里之前,您是否先试用过它?是的,我在它工作之前使用过。很好,您需要确保字符串日期格式无法工作。在回答这里之前,您是否先试用过?是的,我在使用之前使用过。很好。您需要确保字符串日期格式。您确定它可以根据给定的信息确定上午和下午吗?也许他的意思是
HH
,而不是
HH
,正如其他答案中提到的那样。@JeppeStigNielsen默认情况下是AM。但你是对的-如果OP需要PM时间,他也应该使用HH而不是HH。或者将tt添加到格式中,并提供AM/PM指示器。您确定它可以根据给定的信息确定上午和下午吗?也许他的意思是
HH
,而不是
HH
,正如其他答案中提到的那样。@JeppeStigNielsen默认情况下是AM。但你是对的-如果OP需要PM时间,他也应该使用HH而不是HH。或将tt添加到格式中,并提供AM/PM指示符