Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ A Go implementation of [RFC 9557: Internet Extended Date/Time Format (IXDTF)](ht

IXDTF extends RFC 3339 by adding optional suffix elements for timezone names and additional metadata while maintaining full backward compatibility.

> 🕹️ **Try it live:** an interactive demo is available at **[ixdtf.8beeeaaat.com](https://ixdtf.8beeeaaat.com/)** — see [Demo](#demo).

```go
strictMode := false
rfc9557 := "2025-02-03T04:05:06+09:00[Asia/Tokyo][!u-ca=gregory]"
Expand All @@ -27,6 +29,20 @@ result, _ := ixdtf.Format(parsedTime, ixdtfExtensions)
- **Zero Dependencies**: Pure Go implementation using only the standard library
- **Comprehensive Validation**: ABNF-based validation ensuring format compliance

## Demo

An interactive demo application is available at **[ixdtf.8beeeaaat.com](https://ixdtf.8beeeaaat.com/)**
([source](https://github.com/8beeeaaat/ixdtf_demo)).

It feeds the same IXDTF strings through both the browser-native
[TC39 Temporal API](https://tc39.es/proposal-temporal/) and this library to demonstrate
interoperability, and showcases the `Parse` / `Format` / `FormatNano` / `Validate` APIs across
several screens: a live IXDTF clock, a Parse/Validate playground, a Temporal ↔ Go round-trip
comparison, a timezone/calendar converter, and an RFC 9557 learning guide.

> The demo relies on native `Temporal` support (Chrome 144+ / Edge 144+ / Firefox 139+) and
> uses no polyfill, so an up-to-date browser is required.

## Installation

```bash
Expand Down
4 changes: 4 additions & 0 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
//
// See RFC 9557: https://datatracker.ietf.org/doc/rfc9557/
//
// An interactive demo is available at https://ixdtf.8beeeaaat.com/, which runs
// IXDTF strings through both the browser-native TC39 Temporal API and this
// library (source: https://github.com/8beeeaaat/ixdtf_demo).
//
// The package is organized so each file covers one RFC 9557 concern:
//
// - format.go: serialization (Section 4.1) and critical output rules (Section 3.3)
Expand Down