MeridianMERIDIAN

ISO Datetime, second precision (no timezone)

datetime.timestamp.iso_secondssince finetype v0.6.36

ISO 8601-like format with second precision and no timezone indicator (e.g. 2013-06-04T01:02:03). Common in database exports and log files. The zoneless sibling of iso_8601 (which requires a trailing Z).

Try a value

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

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

Worked samples

DuckDB 1.5.5 · finetype 0.6.66

ValueAs TIMESTAMP
2013-06-04T01:02:032013-06-04 01:02:03
2024-01-15T10:30:002024-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
%S
seconds

Shape

Pattern
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
ValueLengthShape
2013-06-04T01:02:0319matches
2024-01-15T10:30:0019matches
2013-06-04T01:02:018rejected: one character short

Told apart

Told apart on one page: ISO 8601 vs RFC 3339 timestamps.

Background

Origin

The first edition of ISO 8601, ISO 8601:1988, was published in June 1988.[1] ISO 8601:1988 unified and replaced several older ISO standards, among them ISO 2014, ISO 2015, ISO 2711, ISO 3307 and ISO 4031.[1]

ISO 8601 joins a date and a time of day into one value with the letter T.[1] ISO 8601:2004 allowed the T to be left out by mutual agreement, but ISO 8601-1:2019 removed that provision.[1] ISO 8601 says that if no UTC relation information is given with a time representation, the time is assumed to be in local time.[1] ISO 8601 marks a time in UTC by adding a Z directly after the time, without a space.[1]

FineType defines iso_seconds as an ISO 8601-like format with second precision and no timezone indicator, such as 2013-06-04T01:02:03.[2] FineType's label file describes iso_seconds as the zoneless sibling of iso_8601, which requires a trailing Z.[2] FineType gives iso_seconds the format string %Y-%m-%dT%H:%M:%S.[2]

Use

Python's documentation calls a datetime naive when it does not contain enough information to locate itself unambiguously relative to other date and time objects.[3] Java's LocalDateTime class is a date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.[4]

The HTML Standard defines a local date and time as one expressed without a time zone.[5] The HTML Standard's normalised local date and time string separates the date from the time with a capital T.[5] The HTML Standard's normalised local date and time string writes the time as the shortest possible string for the given time.[5] Where one column mixes values with and without seconds, treat both shapes as the same field before you parse it. (Meridian's view)

RFC 3339 defines a date and time format for Internet protocols that is a profile of ISO 8601.[6] RFC 3339's date-time grammar requires a time offset, either Z or a numeric offset, after the time.[6] RFC 3339 deems the interoperability problems of unqualified local time unacceptable for the Internet, since interpreting one will fail in approximately 23/24 of the globe.[6] Before handing a zoneless column to a parser built for RFC 3339, check what it does with a missing offset. (Meridian's view)

Before parsing, find out from the source's documentation which clock the values were read from: the server's local zone, the user's, or UTC with the Z dropped. (Meridian's view)

Parse into a timestamp type without a time zone, and attach a zone only once you know it, rather than letting a tool silently assume UTC or the machine's own zone. (Meridian's view)

Detection notes

New in v0.6.36 (spec 2026-06-19-zoneless-iso-datetime-leaves). Zoneless second-precision sibling of iso_8601, mirroring iso_microseconds. Add-not- broaden: the zoned leaves keep their Z-required patterns so round-trip transforms stay correct. Distinct from epoch.unix_seconds (numeric epoch, not an ISO string).

Use it

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

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

Schema

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

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

Type Registry