Службы Reporting Services: параметр DateTime не показывает часть времени, когда его полночь - PullRequest
1 голос
/ 13 декабря 2011

Мне нужно добавить параметр «StartDate» в отчет в Reporting Services 2005, который должен представлять текущую дату в полночь.

Если я использую Now () в качестве выражения, он будет правильно использовать полночьв расчетах, но для пользователя, часть времени не будет показана.

13/12/2011

, что может сбить с толку, потому что тогда пользователь на самом деле не понимает, что он или онаможно ввести часть времени.

Как мне отформатировать эту дату следующим образом: 13/12/2011 00:00 , сохраняя параметр как тип данных DateTime . ?

Редактировать: я проверил дубликат вопроса и попытался применить его к моему делу, но столкнулся со следующим феноменом:

Если я попытаюсь:

=DateTime.Parse(Format(Now().Date().AddSeconds(1), "dd/MM/yyyy HH:mm:ss"))

Затем параметр показывает «14/12/2011 00:00:01», что сбивает с толку пользователей, поэтому я попытался сделать следующее:

=DateTime.Parse(Format(Now().Date().AddSeconds(1), "d/M/yyyy HH:mm"))

Но тогдапараметр снова показывает «14/12/2011»!Другими словами, часть времени снова ушла!

Кто изобрел этот материал?: P

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Ваша формула с .Parse (Format (... вызывает избыточную работу, которая запутывает вещи. Попробуйте это:

=Now().Date().AddSeconds(.001)
1 голос
/ 13 декабря 2011

Используйте Format. Например: Format(Parameters!SelectedDate.Value, "d/M/yyyy HH:mm")

Здесь - список DateTime идентификаторов для использования с Format.

Редактировать:

Я понял, вы хотите, чтобы 00:00 отображалось в календаре ввода параметров в средстве просмотра отчетов. Часть времени не будет отображаться, когда она установлена ​​в полночь. Это по замыслу . Если вы используете 2005 или более раннюю версию, решение Jamie не сработает, и вы застряли.

...