Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 将字符串转换为datetime并发送到Oracle DB时出错_.net_Vb.net_Datetime_Visual Studio 2012_Oracle11g - Fatal编程技术网

.net 将字符串转换为datetime并发送到Oracle DB时出错

.net 将字符串转换为datetime并发送到Oracle DB时出错,.net,vb.net,datetime,visual-studio-2012,oracle11g,.net,Vb.net,Datetime,Visual Studio 2012,Oracle11g,我无法将字符串“11/07/2014 12:00:00 am”转换为日期时间。我试过很多方法,但有些地方出了问题,这里有两种方法,我用的 第一路 Dim dateTime As DateTime = Convert.ToDateTime("11/07/2014 12:00:00 AM") 它正在返回一个值“#11/07/2014#” 第二条路 当我尝试使用下面的方法进行解析时,它返回一个错误“String未被识别为有效的DateTime” 有谁能给我推荐一个有效的方法吗。我必须将此日期时间发送

我无法将字符串“11/07/2014 12:00:00 am”转换为日期时间。我试过很多方法,但有些地方出了问题,这里有两种方法,我用的

第一路

Dim dateTime As DateTime = Convert.ToDateTime("11/07/2014 12:00:00 AM")
它正在返回一个值“#11/07/2014#”

第二条路 当我尝试使用下面的方法进行解析时,它返回一个错误“String未被识别为有效的DateTime”

有谁能给我推荐一个有效的方法吗。我必须将此日期时间发送到oracle DB以获取数据

请尝试:

var datetime = DateTime.ParseExact("11/07/2014 12:00:00 AM", "dd/MM/yyyy h:mm:ss tt",   CultureInfo.InvariantCulture);

从今天开始,我假设您的字符串代表11月7日

如果字符串格式是用户的标准日期和时间格式模式,则成功解析字符串。如果解析成功,这意味着
MM/dd/yyyy hh:MM:ss tt
是您的
CurrentCulture
的标准日期和时间格式模式。我不明白这些
#
是从哪里来的。它们与解析操作无关

你的第二种方式是因为来自

将日期和时间的指定字符串表示形式转换为其 使用指定格式和特定区域性的DateTime等效项 格式信息字符串表示形式的格式必须匹配 指定的格式完全相同。

在您的示例中,它们不匹配。您需要改用
MM/dd/yyyy hh:MM:ss tt
格式

Dim dt As DateTime = DateTime.ParseExact("11/07/2014 12:00:00 AM", 
                                         "MM/dd/yyyy hh:mm:ss tt", 
                                         CultureInfo.InvariantCulture)

在第一种情况下,它看起来可能已经起作用了(尽管还不清楚您是在解析11月7日还是7月11日,这真的没有帮助),而在第二种情况下,您当前正在解析一个空字符串,根据您的输入数据,它的格式看起来与应该的格式完全不同。你认为那会怎样?您应该阅读.NET中的格式说明符…无论出于何种原因,如果时间是00:00:00或12:00:00 VS未将其包含在值显示中(在字符串中添加一秒钟,它将显示在VS中);否则,第一个可能是正确的。使用Console.WriteLine,将显示时间部分。这与
C#
有什么关系?很抱歉输入错误,我有点忽略了日期字符串。我在第二部分加上了日期。它弹出带有日期字符串的异常。在第一种提到的方式中。它以“#”开头和结尾返回。它总是这样,还是我做错了什么?它返回相同的错误“字符串未被识别为有效的日期时间”。我不知道发生了什么wrong@gnsanvesh看起来
#
只是
日期时间的表示形式。使用DateTime对象时不应该看到它。
Dim dt As DateTime = DateTime.ParseExact("11/07/2014 12:00:00 AM", 
                                         "MM/dd/yyyy hh:mm:ss tt", 
                                         CultureInfo.InvariantCulture)