The ptvz interchange profile
ptvz encodes Gregorian calendar facts with glyphs from [a-zA-Z0-9_]. We omit slashes, dashes (except inside intervals),
fractional-second punctuation, and colons paired with explicit polarity signs so filenames stay easy to select without odd token boundaries while remaining human-scannable versus ISO basic
strings.
Plain ISO 8601 literals (hyphens, colons, offsets): see the companion ISO 8601 cheatsheet.
Design goals
- Keep Gregorian month order when you sort ASCII.
- Use two-digit years by default but expand centuries with predictable rules.
- Encode clocks as HHMM plus one-letter UTC offsets (whole hours only).
- Compose ordinal, ISO-week, and quarterly pieces without inventing new separators.
- Defer sub-minute precision back to ISO 8601 literal forms when unavoidable.
Naming & glyphs
Gregorian months gain abcd… lettering by bending month stems; tail letters spell ptvz, naming the profile:
| Glyph | Name flavor | Gregorian month |
|---|---|---|
| a | anuary | January |
| b | bruary | February |
| c | carch | March |
| g | gapril | April |
| h | hay | May |
| i | iune | June |
| k | kuly | July |
| m | mogust | August |
| p | pember | September |
| t | tober | October |
| v | vember | November |
| z | zember | December |
Literal month letters stick to lowercase. Two-digit Gregorian years occupy the tens/ones columns before the glyph.
Calendar dates
A full Gregorian day anchored in the local century slice looks like YY + glyph + DD (never omitting DD on full stamps).
2025-12-11 → 25z11 1981-04-05 → 81g05
You can shorten tokens when surrounding context fills in fields; rely on ISO literals when you truly need explicit centuries.
ISO-aligned week grids
Monday 29 December 2008 → ISO 2009-W01-1 ≡ ptvz 09W01D1
ISO week numbering: the calendar week holding the first Thursday counts as week 1. Day-of-week uses D1 through D7 (Sunday). Whole weeks drop the trailing Dn segment.
Ordinal & solar counters
1981 day 095 (Apr 05) ⇒ 81D095
Quarter macro tokens
25Q4 → final quarter trio of Gregorian year 2025
Wall clock + zone letters
ptvz uses compact 24-hour clock notation rather than 12-hour AM/PM forms: hours run from 0000 at the start of the day to 2359,
with 2400 reserved only for the exact end of a dated interval. ptvz writes the military-style four digits without a colon, then appends a zone letter.
T00:00+00 → 0000Z T12:00+00 → 1200Z T13:47+00 → 1347Z T05:02+01 → 0502A T09:15 local → 0915J T13:47-05 → 1347R
Zone letters follow the military/NATO convention for whole-hour offsets from UTC: east of Greenwich uses A through M (skipping J),
west uses N through Y,
and Z means UTC itself ("Zulu"). ptvz also accepts the letter J for local time, matching common military usage of "Juliett" when the wall clock should be interpreted in the observer's local zone rather than as a fixed UTC offset.
| Offset family | Letters | Example |
|---|---|---|
| UTC+01 through UTC+12 | A B C D E F G H I K L M | 0502A = 05:02 at UTC+01 |
| UTC-01 through UTC-12 | N O P Q R S T U V W X Y | 1347R = 13:47 at UTC-05 |
| UTC | Z | 0000Z = midnight UTC |
| Local time | J | 0915J = 09:15 in the observer's local zone |
The letter names are offset designators, not civil zone names: for example, R always means UTC-05:00 even if a place later shifts for daylight saving time. By contrast, J deliberately leaves the underlying offset implicit. Regions like +05:30 or +09:30 do not fit the offset alphabet and must round-trip via ISO literals or companion metadata.
Date with wall clock
2007-04-05 local 12:30 with −01 ⇒ 07g05_1230N
Underscores join date + wall clock blocks so double-click selection spans both tokens cleanly.
Intervals
07c01_1300Z → 08h11_1530Z ⇒ 07c01_1300Z-08h11_1530Z
Dash alone encodes ranged intervals.
Operational guidance
- Use ISO literals when you need spelled-out centuries.
- Use ptvz for journals, filenames, logs, and scraps anywhere ASCII beats long literals.
- Feed automation through converters that infer missing century slices the same way every time.