---
name: "iso8601"
section: "3tcl"
platform: "linux"
package: "tcllib"
version: "2.0+dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/iso8601/3tcl"
---

# iso8601(3tcl)

Parsing ISO 8601 dates/times

```

```

## NAME

clock\_iso8601 - Parsing ISO 8601 dates/times

## SYNOPSIS

package require **Tcl 8.5 9**

package require **clock::iso8601 ?0.2?**

**::clock::iso8601 parse\_date** *date* *options...*

**::clock::iso8601 parse\_time** *time* *options...*

```

```

## DESCRIPTION

This package provides functionality to parse dates and times in ISO 8601 format.

- **::clock::iso8601 parse\_date** *date* *options...*

  This command parses an ISO8601 date string in an unknown variant and returns the given date/time in seconds since epoch.

  The acceptable options are **-base**, **-gmt**, **-locale**, and **-timezone** of the builtin command **clock scan**.

- **::clock::iso8601 parse\_time** *time* *options...*

  This command parses a full ISO8601 timestamp string (date and time) in an unknown variant and returns the given time in seconds since epoch.

  The acceptable options are **-base**, **-gmt**, **-locale**, and **-timezone** of the builtin command **clock scan**.

## DATE FORMATS

The commands accept the following 23 date formats:

```
(year)-(month)-(day)
(year)(month)(day)
(year)-(day in year)
(year)(day in year)
(year in century)-(month)-(day)
(year)-(month)			Day defaults to the 1st of the month
(year in century)(month)(day)
(year in century)-(day in year)
(year in century)(day in year)
--(month)-(day)			Year defaults to the current year
--(month)(day)			Year defaults to the current year
--(day in year)			Year defaults to the current year
---(day)  		        Year defaults to the current year, month to current month
(fiscal year)-W(week)-(wday)
(fiscal year)W(week)-(wday)
(fiscal year in century)-W(week)-(wday)
(fiscal year in century)W(week)(wday)
(fiscal year)-W(week)		Weekday defaults to monday
(fiscal year)W(week)		Weekday defaults to monday
-W(week)-(wday)			Year defaults to current fiscal year
-W(week)(wday)			Year defaults to current fiscal year
(wday)				Year defaults to current fiscal year, week to current week
(year)				Month defaults to january, day to 1st of the month
```

The possible parts/fields in the above, and their meanings, are:

- year

  Year with century, 4 digits

- month

  Month in year, 2 digits

- day

  Day in month, 2 digits.

- year in century

  Year without century, 2 digits

- day in year

  Day in year, 3 digits

- fiscal year

  ISO 8601 fiscal year with century, 4 digits

- fiscal year in century

  ISO 8601 fiscal year without century, 2 digits

- week

  ISO 8601 week number

- wday

  Week day, 1 digit, Monday (1) to Sunday (7,0)

## BUGS, IDEAS, FEEDBACK

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category *clock::iso8601* of the *Tcllib Trackers* \[http://core.tcl.tk/tcllib/reportlist\]. Please also report any ideas for enhancements you may have for either package and/or documentation.

When proposing code changes, please provide *unified diffs*, i.e the output of **diff -u**.

Note further that *attachments* are strongly preferred over inlined patches. Attachments can be made by going to the **Edit** form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.

## CATEGORY

Text processing
