Рейтинг:
1
Mario Majčica
Наверное, с ним что-то не так. Fields!Date.Value
.
Попробуйте что-нибудь подобное:
DateTime dateValue;
if (DateTime.TryParse(Fields!Date.Value, out dateValue))
return dateValue.ToString("yyyy/MM/dd h:mm:ss tt")
else
return "n/a";
Дайте нам знать!
Овации
РЕДАКТИРОВАТЬ:
Я только что попробовал следующий код:
string printableString;
DateTime dateValue;
if (DateTime.TryParse("22-08-2010 14:57:33", out dateValue))
printableString = dateValue.ToString("yyyy/MM/dd h:mm:ss tt");
else
printableString = "n/a";
И вот результат
2010-08-22 2:57:33
как и ожидалось.
Если я попытаюсь ввести неправильный ввод, как
DateTime.TryParse("25-25-2010 14:57:33", out dateValue)
Я получаю
n/a
в итоге.
Если вы покажете мне еще немного кода, возможно, мы сможем найти правильное решение.
Пока
neha427
Привет Марио,
Я пытаюсь использовать твое выражение.
Но я получаю ошибку, что "TryParse" - это непризнанный идентификатор.
Спасибо
Mario Majčica
Проверьте правку.
neha427
Привет Марио,
Мой отчет состоит из 4 столбцов : тип записи,описание,Номер счета,Дата.
Я создал набор данных и извлек из него поля для отчета.
Теперь я пытаюсь отформатировать столбец даты до 2010-08-22 2:57:33.
Я просто пытаюсь написать выражение для форматирования даты в поле значения.
Я сделал это, и это прекрасно сработало в одном из моих предыдущих отчетов.
Теперь я пытаюсь отформатировать то же поле даты в другом отчете.Но это не работает.Он воспроизводится как гггг/ММ/ДД ч:мм:СС ТТ
Mario Majčica
То, что кажется проблемой, находится в вашей ленте данных. Проверьте содержимое Вашего набора данных и посмотрите, есть ли какое-либо недопустимое значение DateTime. Вы можете выполнить проверку с помощью кода, который я предоставил, или установив точку торможения внутри вашего кода.
neha427
Недопустимой даты и времени не существует.
Все выглядит прекрасно.
Mario Majčica
Как бы то ни было, вместо =Format(Fields!Date.Значение,"гггг/ММ/ДД" & "" & "ч:мм:СС ТТ")
попробуйте выполнить следующий код:
публичная строка CustomDateFormat(объект dateTime)
{
если (датавремя == нуль || тип данных datetime Датавремя == ложь)
возврат "н/д";
DateTime dateValue;
если (дата-время.TryParse(дата и время.ToString(), out dateValue))
верните значение даты.ToString("yyyy/MM/dd h:mm:ss tt");
еще
возврат "н/д";
}
а затем измените свой код следующим образом:
..= CustomDateFormat(Поля!Дата.Ценность);
Каков же тогда выход?