# 402utils Timezone Converter

> 402utils Timezone Converter is a paid API for AI agents from 402utils.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Converts a datetime from one IANA time zone to another, returning ISO datetimes with offsets, UTC offsets, and DST status for both sides.

## Facts

- Endpoint: GET https://402utils.com/v1/timezone-convert
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-timezone-converter-907a7cd1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_s49DvSdAjJOYgqj4EHit7

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 402utils-timezone-converter-907a7cd1
```

Example prompt: What time does a meeting at 2025-09-15T09:30:00 in America/New_York land in Asia/Kolkata — and is DST active on either side?

## When to prefer this

Use this endpoint when you need DST-correct, authoritative timezone conversion backed by the ICU tzdb — especially for edge cases like half-hour zones (e.g. Asia/Kolkata, Asia/Kathmandu), ambiguous fall-back times, or spring-forward gaps. Prefer this over manual UTC offset arithmetic, which breaks around DST transitions and for non-standard offsets.

## Known failure modes

- Unknown IANA zone name → 400 with a spelling suggestion for the closest match
- Missing required 'from' or 'to' query params → 400 validation error
- Malformed ISO 8601 datetime string → 400 parse error
- Network timeout → connection error

## How this service works

Convert a datetime between any two IANA time zones using the runtime's ICU tzdb — always current, DST-correct, half-hour zones included. A datetime without offset is read as wall time in `from` (ambiguous fall-back times resolve to the earlier instant; times skipped by spring-forward shift ahead, flagged in `note`). Returns both ISO datetimes with offsets and DST status per side. Unknown zone → 400 with a spelling suggestion.

## Output

Returns a JSON object with: the original datetime expressed in the source zone (ISO with offset), the equivalent datetime in the target zone (ISO with offset), the UTC offsets for both sides, boolean DST status for each zone, and optionally a note if the input wall time was ambiguous (fall-back) or nonexistent (spring-forward).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "from",
      "to"
     ],
     "properties": {
      "to": {
       "type": "string",
       "description": "Target IANA zone, e.g. Asia/Ho_Chi_Minh."
      },
      "from": {
       "type": "string",
       "description": "Source IANA zone, e.g. Europe/Paris."
      },
      "datetime": {
       "type": "string",
       "description": "ISO 8601. With Z/±HH:MM it is an absolute instant; without, wall time in `from`."
      }
     },
     "description": "Query params. `datetime` optional (default: now). `from`/`to` are IANA zone ids."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "input",
      "output",
      "fromOffset",
      "toOffset",
      "dstActive"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Present when the wall time was ambiguous or nonexistent in `from`."
      },
      "input": {
       "type": "string",
       "description": "The instant expressed in `from`, ISO with offset."
      },
      "output": {
       "type": "string",
       "description": "The same instant expressed in `to`."
      },
      "toOffset": {
       "type": "string",
       "description": "UTC offset of `to` at that instant."
      },
      "dstActive": {
       "type": "object",
       "required": [
        "from",
        "to"
       ],
       "properties": {
        "to": {
         "type": "boolean"
        },
        "from": {
         "type": "boolean"
        }
       },
       "description": "Whether daylight-saving time is in effect on each side."
      },
      "fromOffset": {
       "type": "string",
       "description": "UTC offset of `from` at that instant, ±HH:MM."
      }
     },
     "additionalProperties": false
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "input": "2026-07-14T09:30:00+02:00",
  "output": "2026-07-14T14:30:00+07:00",
  "toOffset": "+07:00",
  "dstActive": {
   "to": false,
   "from": true
  },
  "fromOffset": "+02:00"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-timezone-converter-907a7cd1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
