{"success":true,"version":"v1","request":{"tool":"get_calculator_schema","calculator_id":"local-time-resolver"},"result":{"entity_type":"calculator","id":"local-time-resolver","calculator_id":"local-time-resolver","canonical_url":"https://tttkmbb.com/time/local-time-resolver","name":"IANA Local Time Resolver","title":"IANA Local Time Resolver – Detect Unique, Repeated and Nonexistent Wall Times","category":"time","category_name":"Time & Geography","tool_name":"resolve_local_time","featured_mcp_tool":true,"description":"Resolves a local wall-clock time with pinned IANA tzdb 2026d. Returns every valid UTC candidate for a repeated fall-back time, or the exact gap and shift-forward suggestion for a nonexistent spring-forward time.","use_when":"You must safely turn a named-zone local time into an instant, validate a scheduled time around a daylight-saving transition, or preserve every possible interpretation instead of silently choosing one.","do_not_use_when":"The input already includes a numeric UTC offset or Z, the task only needs the current clock time, or latitude/longitude must first be mapped to a zone.","agent_examples":["Resolve 2026-11-01 01:30 in America/New_York and return both UTC candidates.","Does 2026-03-08 02:30 exist in New York? Show the DST gap.","判断 Australia/Adelaide 的 2026-10-04 02:30 是否存在，并给出时区数据版本。"],"inputs":[{"name":"local_datetime","label":"Local date-time","type":"string","required":true,"description":"Wall-clock date and time without Z or a numeric offset; it will be interpreted only in time_zone.","example":"2026-11-01T01:30:00"},{"name":"time_zone","label":"IANA time zone","type":"string","required":true,"description":"IANA zone identifier present in tzdb 2026d.","example":"America/New_York"}],"outputs":[{"name":"local_datetime","label":"Local date-time","type":"string","decimals":4,"description":"Normalized input wall-clock time."},{"name":"time_zone","label":"Requested zone","type":"string","decimals":4,"description":"Zone identifier supplied by the caller."},{"name":"resolved_zone_id","label":"Resolved zone","type":"string","decimals":4,"description":"Zone record used by the pinned data build."},{"name":"status","label":"Resolution status","type":"string","decimals":4,"description":"unique, ambiguous (two valid instants) or nonexistent (inside a clock-forward gap)."},{"name":"candidate_count","label":"Candidate count","type":"integer","decimals":4,"description":"Number of valid UTC instants for the wall-clock input."},{"name":"candidates","label":"UTC candidates","type":"list","decimals":4,"description":"Every valid instant with UTC time, local time, offset and abbreviation, ordered earliest first."},{"name":"gap","label":"Gap details","type":"object","decimals":4,"description":"Clock-forward gap and shift-forward suggestion; null/omitted when the time exists."},{"name":"related_transition","label":"Related transition","type":"object","decimals":4,"description":"Transition whose overlap or gap contains the input, when applicable."},{"name":"previous_transition","label":"Previous transition","type":"object","decimals":4,"description":"Previous offset change in this zone."},{"name":"next_transition","label":"Next transition","type":"object","decimals":4,"description":"Next offset change in this zone."},{"name":"tzdb_version","label":"IANA tzdb version","type":"string","decimals":4,"description":"Pinned IANA release used for every offset and transition."},{"name":"dataset_version","label":"Dataset version","type":"string","decimals":4,"description":"Immutable Calcgrid evidence-package version."},{"name":"source_url","label":"Source release","type":"string","decimals":4,"description":"Version-specific official IANA release URL."},{"name":"source_sha256","label":"Source SHA-256","type":"string","decimals":4,"description":"SHA-256 of the downloaded official IANA tzdata release artifact."},{"name":"coverage_note","label":"Coverage","type":"string","decimals":4,"description":"Coverage and rule-change limitations for this fixed version."}],"input_schema":{"type":"object","properties":{"local_datetime":{"description":"Wall-clock date and time without Z or a numeric offset; it will be interpreted only in time_zone.","type":"string","examples":["2026-11-01T01:30:00"]},"time_zone":{"description":"IANA zone identifier present in tzdb 2026d.","type":"string","examples":["America/New_York"]}},"additionalProperties":false,"required":["local_datetime","time_zone"],"examples":[{"local_datetime":"2026-11-01T01:30:00","time_zone":"America/New_York"},{"local_datetime":"2026-03-08T02:30:00","time_zone":"America/New_York"}]},"output_schema":{"type":"object","properties":{"local_datetime":{"description":"Normalized input wall-clock time.","type":"string"},"time_zone":{"description":"Zone identifier supplied by the caller.","type":"string"},"resolved_zone_id":{"description":"Zone record used by the pinned data build.","type":"string"},"status":{"description":"unique, ambiguous (two valid instants) or nonexistent (inside a clock-forward gap).","type":"string"},"candidate_count":{"description":"Number of valid UTC instants for the wall-clock input.","type":"integer"},"candidates":{"description":"Every valid instant with UTC time, local time, offset and abbreviation, ordered earliest first.","type":"array"},"gap":{"description":"Clock-forward gap and shift-forward suggestion; null/omitted when the time exists.","type":"object"},"related_transition":{"description":"Transition whose overlap or gap contains the input, when applicable.","type":"object"},"previous_transition":{"description":"Previous offset change in this zone.","type":"object"},"next_transition":{"description":"Next offset change in this zone.","type":"object"},"tzdb_version":{"description":"Pinned IANA release used for every offset and transition.","type":"string"},"dataset_version":{"description":"Immutable Calcgrid evidence-package version.","type":"string"},"source_url":{"description":"Version-specific official IANA release URL.","type":"string"},"source_sha256":{"description":"SHA-256 of the downloaded official IANA tzdata release artifact.","type":"string"},"coverage_note":{"description":"Coverage and rule-change limitations for this fixed version.","type":"string"}}},"formula":"for each zone offset o: candidate_utc = local_wall_time + o; keep candidates whose active offset at candidate_utc equals o","method":"Calcgrid enumerates the offsets in the pinned zone record, verifies each candidate against the transition table, and returns zero, one or multiple candidates without asking the Worker runtime's mutable Intl/ICU database.","sources":[{"name":"IANA Time Zone Database 2026d","url":"https://data.iana.org/time-zones/releases/tzdata2026d.tar.gz","type":"standard","retrieved_at":"2026-09-26","note":"Pinned release; SHA-256 0cb2aa8e333c3dc049badc42a0c61f21987b8cd44e107fa900bad764aacc7767. IANA describes tzdb as widely used but not legally authoritative."},{"name":"IANA tz database LICENSE","url":"https://data.iana.org/time-zones/tzdb/LICENSE","type":"license","retrieved_at":"2026-09-26","note":"The tz code and data are public domain unless the LICENSE names an exception; Calcgrid uses the data, not the three BSD-derived code files named there."},{"name":"Moment Timezone 0.6.4 data build","url":"https://www.npmjs.com/package/moment-timezone/v/0.6.4","type":"implementation","retrieved_at":"2026-09-26","note":"Pinned parser/data build reporting IANA data version 2026d; MIT licensed."}],"freshness":{"type":"static","max_age_seconds":null,"note":"Immutable IANA tzdb 2026d evidence package. Check the data-package index for newer published versions."},"examples":[{"name":"New York fall-back overlap","inputs":{"local_datetime":"2026-11-01T01:30:00","time_zone":"America/New_York"},"expected":{"status":"ambiguous","candidate_count":2,"candidates":[{"utc_datetime":"2026-11-01T05:30:00Z","utc_offset":"-04:00"},{"utc_datetime":"2026-11-01T06:30:00Z","utc_offset":"-05:00"}],"tzdb_version":"2026d"},"url":"https://tttkmbb.com/api/v1/calculate/local-time-resolver?local_datetime=2026-11-01T01%3A30%3A00&time_zone=America%2FNew_York"},{"name":"New York spring-forward gap","inputs":{"local_datetime":"2026-03-08T02:30:00","time_zone":"America/New_York"},"expected":{"status":"nonexistent","candidate_count":0,"gap":{"duration_seconds":3600,"suggested_shift_forward_local":"2026-03-08T03:30:00"}},"url":"https://tttkmbb.com/api/v1/calculate/local-time-resolver?local_datetime=2026-03-08T02%3A30%3A00&time_zone=America%2FNew_York"}],"faq":[{"q":"Why can one local time have two answers?","a":"When clocks move backward, a range of wall-clock labels repeats under two offsets. The resolver returns both instants instead of guessing."},{"q":"Is this based on the server's current time-zone database?","a":"No. Results are fixed to IANA tzdb 2026d and include the release URL and SHA-256 so they can be reproduced."}],"tags":["IANA tzdb","ambiguous local time","nonexistent local time","DST overlap","DST gap","time zone evidence"],"related":[{"calculator_id":"time-zone-converter","reason":"Convert one resolved wall time to a target zone."},{"calculator_id":"time-zone-transitions","reason":"List every offset transition in a date range."},{"calculator_id":"unix-timestamp","reason":"Convert a known instant to epoch seconds."}],"links":{"html":"https://tttkmbb.com/time/local-time-resolver","markdown":"https://tttkmbb.com/time/local-time-resolver.md","json":"https://tttkmbb.com/time/local-time-resolver.json","api":"https://tttkmbb.com/api/v1/calculate/local-time-resolver","schema":"https://tttkmbb.com/api/v1/calculators/local-time-resolver","openapi":"https://tttkmbb.com/openapi.json","mcp":"https://tttkmbb.com/mcp"},"version":"v1","updated_at":"2026-09-26"},"timestamp":"2026-09-27T00:08:34Z","next_actions":[{"tool":"resolve_local_time","calculator_id":"local-time-resolver","reason":"Run IANA Local Time Resolver with the inputs above."}],"links":{"mcp":"https://tttkmbb.com/mcp","a2a":"https://tttkmbb.com/a2a","openapi":"https://tttkmbb.com/openapi.json","llms_txt":"https://tttkmbb.com/llms.txt","feed":"https://tttkmbb.com/feed.xml","ard":"https://tttkmbb.com/.well-known/ard.json","ai_catalog":"https://tttkmbb.com/.well-known/ai-catalog.json","agent_card":"https://tttkmbb.com/.well-known/agent-card.json","mcp_server_card":"https://tttkmbb.com/mcp/server-card","mcp_server_card_legacy":"https://tttkmbb.com/.well-known/mcp-server-card.json","ai_plugin":"https://tttkmbb.com/.well-known/ai-plugin.json","agent_capabilities":"https://tttkmbb.com/agent-capabilities.json","docs":"https://tttkmbb.com/docs/index.md","privacy":"https://tttkmbb.com/docs/privacy","terms":"https://tttkmbb.com/docs/terms","support":"https://tttkmbb.com/docs/support","china_work_calendar_data":"https://tttkmbb.com/api/v1/data/china-work-calendar/2026","uk_bank_holidays_data":"https://tttkmbb.com/api/v1/data/uk-bank-holidays","iana_tzdb_data":"https://tttkmbb.com/api/v1/data/iana-tzdb","markdown":"https://tttkmbb.com/time/local-time-resolver.md"}}