Description
Parse strict iCalendar basic time with optional UTC marker and allowed second 60; does not validate leap-second scheduling or resolve time zones.
iCalendar separates content-line framing, property values, parameters and component nesting. TEXT escaping protects separators, while line folding is based on encoded octets. DATE, floating time, UTC and named-zone representations carry different information; a token-level operation does not resolve a timezone or expand recurrence rules.1
Parse strict iCalendar basic time with optional UTC marker and allowed second 60; does not validate leap-second scheduling or resolve time zones.
When to use this tool
Use this tool to parse strict iCalendar basic time with optional UTC marker and allowed second 60; does not validate leap-second scheduling or resolve time zones.
How to use the tool and how it works
- Enter token using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.hour, result.minute, result.second, result.utc. Use the ordering, boundary rules and absence conditions described below.
Require six basic time digits with optional uppercase Z, validate hour/minute/second ranges and return components with a UTC flag.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| token | One complete basic date/time or duration token under the stated operation. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.hour | Basic-time hour 0–23. |
| result.minute | Basic-time minute 0–59. |
| result.second | Basic-time second 0–60 without real leap-second verification. |
| result.utc | Whether the token ended with uppercase Z. |
{
"input": {
"token": "235960Z"
},
"output": {
"result": {
"hour": 23,
"minute": 59,
"second": 60,
"utc": true
}
}
} Limitations and assumptions
- Second 60 is accepted syntactically without verifying a real leap second; no date or timezone conversion is performed.
- Content spans use zero-based UTF-16 offsets; fold limits use UTF-8 bytes including the continuation space. Token helpers handle the stated subset only, without a timezone database, recurrence engine or calendar import.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Keep content-line syntax, value escaping and timezone interpretation separate. Use a complete iCalendar implementation for recurrence expansion, timezone transitions and property-specific validation.
References
Similar or alternative tools
- iCalendar Basic Date Token Parser
Parse and calendar-validate one strict YYYYMMDD iCalendar basic date, including Gregorian leap rules; no timestamp conversion.
- iCalendar Basic Time Token Formatter
Format validated iCalendar HHMMSS with optional Z; second 60 is retained as explicit leap-second notation, not proof of a real leap second.