MeridianMERIDIAN

ISO Datetime, minute precision (no timezone)

datetime.timestamp.iso_minutes

ISO 8601-like format with minute precision (T separator) and no timezone indicator (e.g. 2013-06-04T01:02). The minute-precision sibling of iso_seconds; common in exports that drop the seconds field.

Try a value

ISO Datetime, minute precision (no timezone)'s rule accepts it.

Reads it as 2024-03-04 05:06:00

Worked samples

DuckDB 1.5.5 · finetype 0.6.66

ValueAs TIMESTAMP
2013-06-04T01:022013-06-04 01:02:00
2024-01-15T10:302024-01-15 10:30:00
%Y
four-digit year
%m
month, two digits
%d
day of month, two digits
%H
hour, 24-hour clock
%M
minutes

Shape

Pattern
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$
ValueLengthShape
2013-06-04T01:0216matches
2024-01-15T10:3016matches
2013-06-04T01:015rejected: one character short

Background

Origin

ISO 8601 writes a combined date and time as a complete date, the letter T as a delimiter, and a time.[1] ISO 8601 allows the seconds, or the minutes and seconds, to be omitted from a time.[1] Under ISO 8601, a time given with no UTC relation information is assumed to be in local time.[1] The first edition of ISO 8601 was published as ISO 8601:1988 in June 1988.[1] ISO 8601-1:2019, the fourth revision of the standard, was issued in February 2019.[1]

RFC 3339, Date and Time on the Internet: Timestamps, was written by G. Klyne and C. Newman and published in July 2002.[2] RFC 3339 describes its format as a conformant subset of the ISO 8601 extended format.[2] RFC 3339's grammar makes the seconds field of a time mandatory.[2] RFC 3339's grammar requires a time offset at the end of a date-time.[2]

Use

The HTML Standard defines a valid normalized local date and time string as a date, the letter T, and a time expressed as the shortest possible string for that time.[3] The HTML Standard's shortest form omits the seconds component entirely when a time is zero seconds past the minute.[3] MDN describes the value of a datetime-local input as a string representing a date and time in the local time zone.[4] MDN notes that the datetime-local input provides no way to set the time zone of the control.[4] MDN gives the datetime-local input a default step of 60, indicating 1 minute.[4] A web form built on a datetime-local field is one plausible source of a column of values like 2024-01-15T10:30. (Meridian's view)

Python's datetime.isoformat method includes the hour and minute in HH:MM format when called with timespec='minutes'.[5] Python's documentation shows isoformat(timespec='minutes') returning '2002-12-25T00:00'.[5]

Treat these values as wall-clock times, and settle which time zone they belong to from the source's documentation before converting them to UTC. (Meridian's view) If a column mixes this form with values that carry seconds, check whether the minute-only rows are simply those that fell exactly on the minute before concluding the source dropped precision. (Meridian's view)

Where you'll meet it

Open-Meteo's API documentation shows hourly time values written in the form 2022-07-01T00:00.[6] Open-Meteo's documentation says the time zone offset is returned as utc_offset_seconds.[6]

Detection notes

Added 2026-07-11 (minute-precision timestamp family completion). Zoneless minute-precision sibling of iso_seconds, mirroring the seconds/millis/ micros ladder. Add-not-broaden: the zoned iso_8601 leaves keep their Z-required patterns. Recovered deterministically by datetime_format_refinement (the 244-dim model does not predict it).

Use it

CLI · DuckDB
$ finetype infer -i "2013-06-04T01:02" --mode column
→ datetime.timestamp.iso_minutes

SELECT ft_infer('2013-06-04T01:02');
-- → 'datetime.timestamp.iso_minutes'
Cast expression
strptime({col}, '%Y-%m-%dT%H:%M')
-- Format: %Y-%m-%dT%H:%M

Schema

https://meridian.online/schemas/datetime.timestamp.iso_minutes · Frictionless type datetime · %Y-%m-%dT%H:%M

finetype taxonomy datetime.timestamp.iso_minutes -o json-schema

Type Registry