HomeEveryday Life › Work Hours Calculator

Work Hours Calculator

Derives paid hours per day from shift start and end times minus unpaid breaks, scales them to a week (working days), an average month (52/12 weeks) and a year (52 weeks), and multiplies by an optional hourly rate for pay.

When to use

You want to know your working hours per week, month or year from a daily schedule, or the pay they represent at an hourly rate.

Do not use when: Shifts vary day by day (sum each with time-duration), or you need salary conversions between periods without shift times (use salary-converter).

Formula

hours_per_day = (end_time − start_time (+24 h if negative) − break_minutes) / 60; week = × days_per_week; month = week × 52 / 12; year = week × 52; pay = hours × hourly_rate

A year is taken as exactly 52 weeks (2,080 h for a 40-hour week); the US OPM uses 2,087 h to average leap years. Public holidays, sick days and paid leave are not deducted, and overtime premiums are not applied.

Inputs

ParameterTypeUnitRequiredDescription
start_timestringyesStart of the working day, 24-hour HH:MM.
end_timestringyesEnd of the working day, 24-hour HH:MM (an end time before the start time means the shift ends the next day).
break_minutesintegermindefault 0Unpaid break minutes per day. Range: ≥ 0, ≤ 1440
days_per_weekintegerdaysdefault 5Number of such working days per week. Range: ≥ 1, ≤ 7
hourly_ratenumbernoOptional gross pay per hour; adds pay outputs. Range: ≥ 0, ≤ 100000

Outputs

OutputTypeUnitDescription
hours_per_daynumberh(end − start − break) in hours.
hours_per_weeknumberhhours_per_day × days_per_week.
hours_per_monthnumberhhours_per_week × 52 / 12 (average month).
hours_per_yearnumberhhours_per_week × 52 (no holidays or leave deducted).
daily_paynumberhours_per_day × hourly_rate (only when hourly_rate is given).
weekly_paynumberhours_per_week × hourly_rate.
monthly_paynumberhours_per_month × hourly_rate.
annual_paynumberhours_per_year × hourly_rate (gross, before tax).

Example

09:00–17:30, 30 min break, 5 days, 25/h: {"start_time":"09:00","end_time":"17:30","break_minutes":30,"days_per_week":5,"hourly_rate":25}{"hours_per_day":8,"hours_per_week":40,"hours_per_month":173.33,"hours_per_year":2080,"daily_pay":200,"weekly_pay":1000,"monthly_pay":4333.33,"annual_pay":52000}

Night shift 22:00–06:00, 45 min break, 4 days: {"start_time":"22:00","end_time":"06:00","break_minutes":45,"days_per_week":4}{"hours_per_day":7.25,"hours_per_week":29,"hours_per_month":125.67,"hours_per_year":1508}

GET https://tttkmbb.com/api/v1/calculate/work-hours?start_time=09%3A00&end_time=17%3A30&break_minutes=30&days_per_week=5&hourly_rate=25

Machine access

Sources

FAQ

Why 52/12 = 4.333 weeks per month?

Months have 28–31 days, so payroll conventionally uses the average of 52 weeks divided by 12 months (about 173.33 h for a 40-hour week) rather than exactly 4 weeks.

Is the break paid?

break_minutes is subtracted as unpaid time. If your breaks are paid, enter 0.

Related calculators