Skip to content
playtime

Session timer audit: distinguish 40 elapsed minutes from 30 active minutes

Published — UTC

Casino table with separate elapsed forty-minute and active thirty-minute timer displays.
Original AI-generated concept art; not a game screenshot or evidence of a payout.

A session from 19:00 to 19:40 lasts 40 minutes by the clock. If it contains a ten-minute pause, a separately defined active-time total may be 30 minutes. Neither number is wrong when its definition is retained.

Record the intervals instead of guessing from a timer

This original example has three intervals on the same date and in the same timezone:

Interval Classification Duration
19:00–19:12 Active in this example 12 minutes
19:12–19:22 Pause 10 minutes
19:22–19:40 Active in this example 18 minutes
A proportionate timeline from 19:00 to 19:40 contains twelve active minutes, ten paused minutes and eighteen active minutes.
The 12-minute and 18-minute active intervals total 30. The ten-minute pause remains inside the 40-minute elapsed boundary.

Elapsed time is 12 + 10 + 18 = 40 minutes. Defined active time is 12 + 18 = 30. Dividing spending by one duration and labelling it with the other changes the reported rate without changing any transactions.

A timer’s unit is not its reset policy

A game timer may continue through a pause, restart on reconnection or show time since a particular event. Do not assume one of those behaviours. Keep the observed label, start time and any restart event alongside its value.

Python’s duration documentation distinguishes duration arithmetic from date/time objects. The example here deliberately uses one date and offset; cross-midnight or different-offset records need the complete timestamps before subtraction.

Use the boundary you actually chose

A personal stop time based on the wall clock is not extended automatically because a record contains paused minutes. If an accepted round remains unsettled, record that state separately; it is not a reason to erase the original boundary or begin another round.

The same spending produces two different rates

If confirmed spending is 12 units during the original interval, it is 12 ÷ 40 = 0.30 unit per elapsed minute, or 12 ÷ 30 = 0.40 per defined active minute. Neither rate changes the 12-unit total. Label the denominator and keep the transaction boundary identical; a rate without that definition is not comparable with another report.

Two open windows can overlap

Suppose window A is active from 19:00 to 19:20 and window B from 19:10 to 19:30. Adding their durations gives 40 window-minutes. The time during which at least one window is active is only 30 minutes, because the ten-minute overlap is counted once. Both measures can be useful, but only the union of the intervals measures elapsed time with any activity. The number of open windows does not make a clock run twice as long.

Midnight and offsets need full timestamps

From 23:50 on one date to 00:10 on the next is 20 minutes, not a negative duration. In another example, 19:00+08:00 and 12:00+00:00 on the same date are one hour apart: the first timestamp corresponds to 11:00 UTC. Subtracting the displayed clock numbers without their offsets would give the wrong interval.

When the record cannot establish activity

A connected browser tab is not evidence that every second was active play. Use the chosen event definition and recorded intervals; if the pause end is missing, leave the affected duration unresolved. Store full start and end timestamps, timezone offsets, classification and any overlap policy. This makes a timer discrepancy reviewable while preserving the originally chosen stop time.

Play now Affiliate link · 21+