2012-01-05 2 views
0

Я выбираю элемент даты списка в строковой переменной, тогда я хочу вставить его в таблицу SQL, но в SQL тип столбца - DateTime. Поэтому мне нужно преобразовать строку в DateTime.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); 

Но получить ниже сообщение об ошибке:

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

Формат даты, который я receving является "10/3/2011 4:38:27 PM".

+0

Осторожно, так как формат DateTime может меняться в зависимости от региональных настроек пользователей. Но, глядя на код, я чувствую, что вы делаете что-то не так. Действительно ли 'dt.Rows [j]' действительно возвращает строку или DateTime? Что возвращает dt.Rows [j] .GetType()? –

+0

Привет, Спасибо за ваш ответ .. Да, это переназначение даты, которую я проверил. – AndroidGuy

+0

Это ошибка компиляции, в которой говорится, что она попала в выражение 'out', когда это не имело смысла. Код, который вы вставили выше, выглядит отлично. Вы уверены, что это не другая часть кода, вызывающая ошибку? –

ответ

1

Форматы вы отдаете не совпадают значения выборки вы предоставили:

  • Есть пробелы вокруг стоимости предоставленной Вами; они находятся в реальных данных? Рассмотрите обрезку
  • Ваше значение имеет «3» в качестве номера месяца, который действителен для «М», но не «ММ»
  • Ваш номер имеет «4» в качестве номера часа, который действителен для «h», но не «HH» (это редко использовать HH в сочетании с ТТ)

Оставив вопрос пространства в сторону, я подозреваю, что вы хотите

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

как действительных форматов.

(см custom date and time format strings в MSDN для получения дополнительной информации.)

+0

Hi Jon, Я внес изменения, как вам было предложено. Но все же ошибка есть. :( :( – AndroidGuy

+0

@Ash: Пожалуйста, предоставьте краткую, но полную программу, демонстрирующую проблему, тогда это должно быть хорошо. Обратите внимание, что вы можете явно указать «CultureInfo.InvariantCulture», а не использовать культуру по умолчанию. –

+0

просто любопытно. : 'DateTime strAllocatedOn; string [] format = {" dd/MM/yyyy hh: mm: ss tt "," dd-MM-yyyy hh: mm: ss tt "}; DateTime.TryParseExact (" 01/01/2010 01:10:00 PM ", формат, null, DateTimeStyles.None, out strAllocatedOn);' и он работает –