🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
OCLOperators sumTime
This page was created by Stephanie on 2025-01-09. Last edited by Wikiadmin on 2026-07-29.

You can use sumTime in OCL to add the time values in a collection when you need one total duration, such as the combined duration of work entries.

Purpose

sumTime calculates the total of the time-related values in a collection and returns that total as a TimeSpan.

Use it when a collection contains DateTime, Time, or TimeSpan values and you need the aggregate duration.

Input and result

Item Details
Input A collection of DateTime, Time, or TimeSpan values.
Result A TimeSpan that represents the total duration.
DateTime handling The operator adds the time portion of each DateTime value, not its date portion.
TimeSpan handling The operator adds each duration directly.

How it calculates the total

The operator iterates through the collection and adds each value to a running total.

  • For a DateTime value, it uses the time-of-day portion. For example, a value whose date and time are 2026-07-01 08:00 contributes eight hours; the 2026-07-01 date does not contribute to the total.
  • For a TimeSpan value, it adds the duration itself. For example, 06:30 contributes six hours and 30 minutes.
  • The returned value is a TimeSpan, so totals can extend beyond 24 hours.

Example: total duration

Suppose a collection of duration values contains:

  • 08:00
  • 06:00
  • 24:00

Applying sumTime produces a TimeSpan of 1 day 14 hours. The result is 38 hours in total, which is represented as one day plus 14 hours.

Example: time portions of DateTime values

Suppose a collection contains these DateTime values:

  • 2026-07-01 08:00
  • 2026-07-02 06:30

sumTime uses 08:00 and 06:30. The resulting TimeSpan is 14:30.

Typical uses

Use sumTime for collection-based duration totals, including:

  • Total hours worked across time entries.
  • Total duration of tasks or activities.
  • Aggregate duration values in reports.

For example, if each task has a duration recorded as a TimeSpan, use sumTime on the collection of those durations to obtain the total task time.

Precision

sumTime calls through to the Common Language Runtime (CLR) for time arithmetic. This provides the time calculation used for the aggregate result.

See also