See also Vintage start time and Vintage name.

Puro vintage end dates / times

Determining the vintage end date from Puro’s API

productionEndDate from Puro's API should be treated as including the day it starts on, so for example 2023-12-31T00:00:00.000Z actually means 2023-12-31T23:59:59.999Z. However around mid-2024, Puro’s API transitioned from using T00:00:00.000Z to T23:59:59.999Z for clarity (at the request of Toucan), so it should no longer be ambiguous whether a day is included or excluded in this end date.

Toucan onchain vintage end times

These are stored as UNIX epoch time, i.e. the number non-leap seconds that have elapsed since 00:00:00 UTC on 1 January 1970.

This means that if a Puro vintage end date is 2023-12-31T23:59:59.999Z, then Toucan’s onchain representation would effectively be 2023-12-31T23:59:59.000Z. In both cases it should be clear that the intention is for the vintage to include the whole of the final day of 2023.