Full Calendar Versioning

SunVer

Read it like a sundial — just look. Year, month, day, and time are all directly readable with zero math. The only cost: 10-minute resolution.

Formula

X = year − 2000  // 0–255 → years 2000–2255
Y = month  // 1–12
Z = day × 1000 + hour × 10 + ⌊minute ÷ 10⌋  // 1000–31235
X
0 – 255
Year offset
Y
1 – 12
Month
Z
1000 – 31235
dd | HH | m

Reading Z

Z encodes day, hour, and the tens digit of minutes as concatenated digits. For a 4-digit Z, the first digit is the day; for a 5-digit Z, the first two are the day. The next two digits are the hour. The last digit is the tens of minutes.

17083 → day 17, hour 08, minute 30
1000  → day 1, hour 00, minute 00
25183 → day 25, hour 18, minute 30
5221  → day 5, hour 22, minute 10

Formally: day = Z ÷ 1000, hour = (Z mod 1000) ÷ 10, minutes = (Z mod 10) × 10. But in practice, you just read the digits.

Examples

DatetimeVersionHow to read it
2025-01-01 00:0025.1.1000Year 25, Jan, day 1 00:00
2025-04-17 08:3025.4.17083Year 25, Apr, day 17 08:30
2026-04-17 08:3026.4.17083Year 26, Apr, day 17 08:30
2026-12-31 23:5026.12.31235Year 26, Dec, day 31 23:50
2030-06-01 00:0030.6.1000Year 30, Jun, day 1 00:00
2033-08-20 12:0033.8.20120Year 33, Aug, day 20 12:00
2050-12-25 07:0050.12.25070Year 50, Dec, day 25 07:00
2100-03-15 16:40100.3.15164Year 100, Mar, day 15 16:40

Converter

Properties

Monotonic sorting. Versions sort correctly using standard version comparison (X first, then Y, then Z), because year, month, and day+time are each in their own component in descending significance order.
255-year range. The epoch is 2000. X = 255 corresponds to the year 2255. You will not run out.
10-minute resolution. The last digit of Z represents tens of minutes (0–5). Two builds within the same 10-minute window will produce the same version. In practice this is a non-issue for release builds.

When to use SunVer

SunVer is best for human-facing releases — game builds, desktop apps, mobile apps — where someone on the team will glance at a version number and want to immediately know when it was built. The 10-minute resolution is more than sufficient for any release cadence that involves humans.

For CI pipelines that produce multiple builds per minute, consider MoonVer or BinVer.