2012-01-05 68 views
0

我取字符串变量列表日期项,然后我想将它插入SQL表中,但在SQL列类型是日期时间。所以我需要将字符串转换为DateTime。日期时间在SharePoint 2007

我使用下面的代码:

DateTime strAllocatedOn; 
string[] format = { "dd/MM/yyyy HH:mm:ss tt", "dd-MM-yyyy HH:mm:ss tt" }; 
DateTime.TryParseExact(dt.Rows[j]["Created"].ToString(), format, null, DateTimeStyles.None, out strAllocatedOn); 

但是,得到如下错误:

这我receving

An error occurred during the compilation of the requested file, or one of its dependencies. Invalid expression term 'out'

日期格式为 “10/3/2011下午4时38分27秒”。

+0

当心,因为DateTime格式可以根据用户的区域设置改变。但看着代码,我觉得你做的事情不正确。 'dt.Rows [j]'是否真的返回一个字符串或DateTime? dt.Rows [j] .GetType()返回什么? – 2012-01-05 10:38:13

+0

嗨感谢您的答复.. 是的,它是retunring我检查它的日期。 – AndroidGuy 2012-01-05 11:31:24

+0

这是一个编译错误说,它得到了一个“出”的表达,当它没有意义。你上面粘贴的代码看起来很好。你确定它不是导致错误的代码的另一部分吗? – 2012-01-05 12:32:11

回答

1

的格式,你给不匹配您所提供的样品值:

  • 大约有您所提供的价值空间;他们在真实的数据?考虑修剪
  • 您的值具有“3”作为月份编号,对“M”有效但不是“MM”
  • 您的vlaue具有“4”作为小时编号,对“h”有效但不是“HH”(这是罕见的一起使用HH与TT)

留下的空间问题之外,我怀疑你想

d-M-yyyy h:mm:ss tt 
d/M/yyyy h:mm:ss tt 

为有效格式。

(参见MSDN custom date and time format strings以获取更多信息。)

+0

嗨乔恩, 我所做的更改由you..but的建议还是错误是存在的。 :( – AndroidGuy 2012-01-05 11:39:35

+0

@Ash:请提供一个简短而完整的程序,证明了问题,那么 - 它应该是好注意,你可能要明确指定'CultureInfo.InvariantCulture',而不是使用默认的文化 – 2012-01-05 11:44:46

+0

只是好奇,我试过。 :'的DateTime strAllocatedOn;串[]格式= { “DD/MM/YYYY HH:MM:SS TT”, “DD-MM-YYYY HH:MM:SS TT”}; DateTime.TryParseExact(“01/01/2010 01:10:00 PM“,format,null,DateTimeStyles.None,out strAllocatedOn);'它有效 – 2012-01-05 19:05:23