2016-03-09 15 views
1

Я пытаюсь вычислить разницу во времени между двумя параметрами DateTime в выражении SSRS для отображения в формате DD:hh:mm:ss. С выражением Я использую я получаю:DateDiff с DateTime в выражении SSRS

Start: 03/04/2016 08:48:53 AM End: 03/07/2016 11:24:04 AM Elapsed: 74:33:11. 

Я хотел бы видеть Elapsed: 3:02:35:11 (дни: часы: минуты: секунды).

+0

Check [this] (http://stackoverflow.com/questions/35461898/ssrs-format-calculated-timespan-in-ddhhmmss/35466381#35466381) –

+0

Это выражение, которое я использую в настоящее время: = RIGHT (" 00 "& Floor (SUM (DateDiff (" s ", Fields! ProcessOpened.Value, Fields! ProcessClosed.Value))/3600), 2) &": "& RIGHT (" 00 "& (Floor (SUM (DateDiff («s», Fields! ProcessOpened.Value, Fields! ProcessClosed.Value)) Mod 3600)/60), 2) & ":" & RIGHT ("00" & SUM (DateDiff ("s", Fields! ProcessOpened .Value, Fields! ProcessClosed.Value)) Mod 60,2) – user3508486

+0

проверить мой ответ –

ответ

0

Разделите часы на 24, чтобы получить Дни, а затем выполните Modulo, чтобы получить оставшиеся часы.

0

Попробуйте это:

=Floor(
DateDiff("s",Fields!ProcessOpened.Value,Fields!ProcessClosed.Value) 
/86400) & ":" & Format(DateAdd("s", 
DateDiff("s",Fields!ProcessOpened.Value, 
Fields!ProcessClosed.Value), "00:00:00"), "HH:mm:ss") 

Я проверил с:

=Floor(DateDiff("s",CDATE("04/03/2016 08:48:53 AM"), 
CDATE("07/03/2016 11:24:04 AM"))/86400) & ":" & 
Format(DateAdd("s", DateDiff("s",CDATE("04/03/2016 08:48:53 AM"), 
CDATE("07/03/2016 11:24:04 AM")), "00:00:00"), "HH:mm:ss") 

возвращает:

3:02:35:11 

Позвольте мне знать, если это помогает.

Смежные вопросы