Description
Classify a restricted complete iCalendar duration as week-only or day/time form, rejecting mixed week/day and dangling time separators; does not convert calendar periods.
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
Classify a restricted complete iCalendar duration as week-only or day/time form, rejecting mixed week/day and dangling time separators; does not convert calendar periods.
When to use this tool
Use this tool to classify a restricted complete iCalendar duration as week-only or day/time form, rejecting mixed week/day and dangling time separators; does not convert calendar periods.
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.form, result.negative. Use the ordering, boundary rules and absence conditions described below.
Classify a signed duration token as week-only or day/time form and report whether it starts with minus.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.form | Duration grammar form: weeks or days-time. |
| result.negative | Whether the duration token begins with minus. |
{
"input": {
"token": "-P2W"
},
"output": {
"result": {
"form": "weeks",
"negative": true
}
}
} Limitations and assumptions
- No seconds total is calculated; months and years are outside this duration subset.
- 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 Formatter
Format a validated proleptic Gregorian iCalendar basic date with year 1–9999; no time zone or floating date-time inference.
- iCalendar Basic Date Token Parser
Parse and calendar-validate one strict YYYYMMDD iCalendar basic date, including Gregorian leap rules; no timestamp conversion.