C# Datetime.ParseExact()不工作

C# Datetime.ParseExact()不工作,c#,asp.net,datetime,C#,Asp.net,Datetime,我已经用c语言编译了下面的代码# 但在输出中,我得到的lastUpdateTimestamp是2/8/2013 7:00:24,而不是02/08/2013 07:00:24 知道我错过了什么吗 在得到这个值之后,我运行一个查询并得到这个错误 Invalid month in timestamp "2": cannot find leading zero [SQL query syntax invalid or unsupported.] 大家好,我得到了解决方案,而不是传递lastUpdate

我已经用c语言编译了下面的代码#

但在输出中,我得到的lastUpdateTimestamp是2/8/2013 7:00:24,而不是02/08/2013 07:00:24

知道我错过了什么吗

在得到这个值之后,我运行一个查询并得到这个错误

Invalid month in timestamp "2": cannot find leading zero [SQL query syntax invalid or unsupported.]

大家好,我得到了解决方案,而不是传递lastUpdateTimestamp,我现在用字符串变量获取日期,并用正确的格式转换它的值。它在根目录下工作。选择SingleNode(“lasttime”)。InnerText返回一个字符串

您正在尝试使用日期时间格式说明符格式化字符串

不确定你想做什么,但像这样的事情应该行得通

string xmlstring = root.SelectSingleNode("lasttime").InnerText;
DateTime parsed = DateTime.ParseExact(xmlstring, "M/d/yyyy h:mm:ss tt");

string datetime = string.Format("{0:MM/dd/yyyy hh:mm:ss tt}", parsed);
评论如下:


我得到的输出是lastUpdateTimestamp.ToString()。应该是2013年8月2日07:00:24,但显示的是2013年8月2日7:00:24

lastUpdateTimestamp.ToString()
将使用当前区域性的常规日期时间格式进行格式化。在您的情况下,这显然是
M/dd/yyyy…

如果需要其他格式,则需要将其指定为
DateTime.ToString
的参数,例如:

lastUpdateTimestamp.ToString("MM/dd/yyyy hh:mm:ss tt")
或对于独立于当前区域性的固定格式:

lastUpdateTimestamp.ToString("MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)

因此,您的问题不是如何使用
DateTime.ParseExact
将字符串解析为
DateTime
,而是如何从
DateTime
中获取正确的字符串:

DateTime dt = DateTime.Now;
string dtStr = dt.ToString("dd/MM/yyyy hh:mm:ss tt"
                          , System.Globalization.CultureInfo.InvariantCulture);
结果:

08/02/2013 10:20:18 AM
但是,由于您的数据库中出现异常:

找不到前导零[SQL查询语法无效或不受支持


您应该真正使用参数并传递
日期时间
而不是
字符串

根的值。选择SingleNode(“lasttime”).InnerText?它们有什么不同?您看到的是一个
DateTime
对象,它本身没有任何特定的格式来显示@animaonline 02/08/2013 07:00:24 amy您要求的是
DateTime.ParseExact
,但您正在抱怨字符串格式。现在有什么问题吗?您还没有显示要显示的代码格式化
DateTime
。我得到的输出为lastUpdateTimestamp.ToString()。它应该是2013年8月2日07:00:24 am,但它显示的是2013年8月2日7:00:24,更新了parseexact格式,允许使用一位数的月、日和小时
08/02/2013 10:20:18 AM