Home › Business & Marketing › Cross-Border Business Hours Deadline

Cross-Border Business Hours Deadline

Adds an explicit number of business hours inside a caller-supplied daily window, using either the official mainland China work calendar or a selected GOV.UK division, then returns the deadline in UTC, the calendar zone and a target IANA zone with a complete segment/skip audit trail.

When to use

You need an SLA, support, procurement or order deadline measured in business hours under the published mainland China or UK calendar, and must express the result in another team's IANA time zone with reproducible holiday and DST evidence.

Do not use when: You need calendar hours, an overnight or split shift, lunch breaks, an employer/local/market calendar, a legal filing deadline, actual delivery/arrival prediction, private calendar availability, or a date outside the selected evidence package's coverage.

Example user requests

Formula

deadline = consume business_hours only inside [business_day_start, business_day_end) on dates where the selected versioned calendar reports is_working_day=true; convert each local boundary with pinned IANA tzdb

The start wall time is resolved under the caller's explicit DST policy. The start date is either considered or wholly excluded as requested. Calcgrid then walks local calendar dates, skips dates rejected by the selected official calendar, consumes time within the supplied same-day window, and converts the final instant to UTC and the target zone. Every counted segment and skipped date is returned.

Inputs

ParameterTypeUnitRequiredDescription
start_local_datetimestringyesStart wall-clock date and time without an offset. start_time_zone supplies its IANA zone.
start_time_zonestringyesIANA zone used for the start time and every daily business window.
target_time_zonestringyesIANA zone in which the same deadline should also be returned for the receiving team.
calendarenum: china-mainland | uk-england-and-wales | uk-scotland | uk-northern-irelandyesVersioned public working-day calendar that determines which local dates may consume business hours.
business_hoursnumberhoursyesPositive duration consumed only inside eligible working-date windows. It is rounded to the nearest second. Range: > 0, ≤ 1000
business_day_startstringyesLocal opening time on each eligible working date. Must be earlier than business_day_end; overnight windows are not supported.
business_day_endstringyesLocal closing/cutoff time on each eligible working date. Must be later than business_day_start on the same date.
include_start_daybooleanyesTrue counts eligible time remaining on the start local date; false skips that entire local date and starts at the next working opening.
resolution_policyenum: reject | earlier | later | shift_forwarddefault rejectHow to resolve an ambiguous or nonexistent start wall time. reject is safest; earlier/later select a repeated instant; shift_forward moves a gap time by the DST jump.

Outputs

OutputTypeUnitDescription
calendarstringSelected versioned working-day calendar.
calendar_namestringHuman-readable calendar scope.
calendar_versionstringExact China or GOV.UK evidence-package version used.
calendar_coverageobjectFirst and last dates supported by the selected calendar package.
tzdb_versionstringPinned IANA transition-data version used for every instant.
tzdb_package_versionstringCalcgrid package version containing the pinned tzdb release.
start_local_datetimestringChosen start instant rendered in the calendar zone with UTC offset.
start_utc_datetimestringChosen start instant in UTC.
counting_started_local_datetimestringFirst eligible instant after applying the working-day, daily-window and include-start-day rules.
deadline_utc_datetimestringFinal deadline instant in UTC.
deadline_calendar_zone_datetimestringFinal deadline in start_time_zone with UTC offset.
deadline_target_zone_datetimestringThe same final instant in target_time_zone with UTC offset.
business_hours_addednumberhoursBusiness duration actually consumed after nearest-second normalization.
business_seconds_addedintegersecondsInteger duration consumed within eligible windows.
elapsed_calendar_hoursnumberhoursActual elapsed UTC time from the supplied start instant to the deadline.
working_dates_usedstring_listOrdered unique local dates whose windows contributed business time.
business_segment_countintegerNumber of dated working-window segments consumed.
skipped_date_countintegerNumber of calendar dates explicitly skipped for a calendar or start-rule reason.
business_segmentslistAuditable local/UTC segment boundaries, duration and calendar reason for every counted interval.
skipped_dateslistDates not counted, with holiday/weekend/start-rule reason.
start_adjustmentslistAny move from the supplied instant to the first eligible business instant.
calendar_sources_usedlistDeduplicated official notices or snapshot evidence actually consulted for the traversed dates.
rulesobjectComplete caller-supplied window, calendar, inclusion and time-zone interpretation rules.

Example

China SLA across Mid-Autumn holiday, rendered in London: {"start_local_datetime":"2026-09-24T15:00:00","start_time_zone":"Asia/Shanghai","target_time_zone":"Europe/London","calendar":"china-mainland","business_hours":16,"business_day_start":"09:00","business_day_end":"17:00","include_start_day":true,"resolution_policy":"reject"} → {"deadline_utc_datetime":"2026-09-29T07:00:00Z","deadline_calendar_zone_datetime":"2026-09-29T15:00:00+08:00","deadline_target_zone_datetime":"2026-09-29T08:00:00+01:00","business_hours_added":16,"elapsed_calendar_hours":120,"working_dates_used":["2026-09-24","2026-09-28","2026-09-29"],"business_segment_count":3,"skipped_date_count":3}

England and Wales Christmas deadline, rendered in Shanghai: {"start_local_datetime":"2026-12-24T15:00:00","start_time_zone":"Europe/London","target_time_zone":"Asia/Shanghai","calendar":"uk-england-and-wales","business_hours":8,"business_day_start":"09:00","business_day_end":"17:00","include_start_day":true,"resolution_policy":"reject"} → {"deadline_utc_datetime":"2026-12-29T15:00:00Z","deadline_calendar_zone_datetime":"2026-12-29T15:00:00+00:00","deadline_target_zone_datetime":"2026-12-29T23:00:00+08:00","business_hours_added":8,"elapsed_calendar_hours":120,"working_dates_used":["2026-12-24","2026-12-29"],"business_segment_count":2,"skipped_date_count":4}

GET https://tttkmbb.com/api/v1/calculate/business-hours-deadline?start_local_datetime=2026-09-24T15%3A00%3A00&start_time_zone=Asia%2FShanghai&target_time_zone=Europe%2FLondon&calendar=china-mainland&business_hours=16&business_day_start=09%3A00&business_day_end=17%3A00&include_start_day=true&resolution_policy=reject

Machine access

Sources

FAQ

Why must I provide the daily business window and include_start_day rule?

Those are contract or organisation rules, not facts Calcgrid can safely infer. Requiring them prevents a plausible-looking but wrong SLA deadline.

Does this prove a legal, settlement or delivery deadline?

No. It applies the selected public work calendar and supplied hours only. Sector rules, local closures, breaks, legal service rules and actual logistics require their own authoritative inputs.

Why are all counted and skipped dates returned?

Agents and auditors can verify exactly which dates consumed time, why others were skipped, and which source/data versions controlled the result.

Related calculators