Example data

A time card that includes February 29

A monthly card must use real dates, including the extra day in February 2028.

The sample record

FieldValue
MonthFebruary 2028, 29 days
StartFebruary 29, 2028, 22:00
EndMarch 1, 2028, 06:00
Unpaid breakMarch 1, 00:00–00:30

Check date validity before duration

February 29 is a valid date in 2028. February 30 is not. A date parser must not quietly turn an invalid February date into a March date, because that changes the record and its reporting period.

480 − 30 = 450 minutes = 07:30

Keep the shift in its start-date period

All 07:30 belongs to February 29 and the February report under the app’s whole-shift start-date convention. March 1 remains the actual end date. The calculation is the same minute arithmetic as another overnight shift; what is distinctive here is accepting the real leap day, rejecting an impossible date and preserving the month boundary.

Use this example

Open related tool
Enable JavaScript to edit and calculate time cards. The worked examples and guides are available below.

Frequently asked questions

Why is February 29 available in this example?

The selected year is 2028, which includes February 29. The actual calendar date is validated; February 29 is not accepted in a year without that date.

Does the March 1 end move this shift into March?

No. The full 07:30 net duration belongs to its February 29 start date and the February reporting month.

Sources and method

  • NIST SP 330, Section 4, Table 8Time-unit definitions only; not a payroll authority or product endorsement.
  • Original worked calculationSynthetic example data, explicit input rules and direct integer-minute arithmetic.

Keep going