Я не уверен, как отформатировать дату, чтобы показывать часы и минуты. Это показывают, как, например. 7,78

=DateDiff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value)/60

Я хотел бы это показать, например. чч : мм

0
Mike 30 Май 2019 в 18:06

2 ответа

Лучший ответ

Если вам не нужно что-либо размещать более 24 часов, эта простая функция сработает.

=Format(DateAdd("n", DateDiff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value), "00:00:00"), "HH:mm")

Если вам нужно посчитать что-либо за 24 часа, это поможет.

=
CStr(Int(DateDiff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value)/60)) + 
":" +
Replace(CStr(DateDiff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value) - Int(DateDiff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value)/60)*60), "0.", "")
0
Chris Albert 30 Май 2019 в 15:54

Один из возможных вариантов - объединить ваш datediff с dateadd, а затем convert в varchar нужного формата:

=convert( varchar
        , dateadd( "n"
                 , datediff("n", Fields!StartOfDay.Value, Fields!EndOfDay.Value)
                 , 0)
        , 8)

Вышеуказанная функция выведет значение в формате ЧЧ: ММ: СС. Однако дневная часть продолжительностью более 24 часов потеряет количество дней. Чтобы удалить секунды из выходного значения, вы, конечно, можете использовать функцию подстроки, чтобы получить первые 5 символов.

0
Sentinel 30 Май 2019 в 15:27
56380888