MoonVer

SunVer squeezed into the 255.255.65535 limits of Windows MSI. Year, month, day, and time — all readable, with 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 − 2000
Y
1 – 12
Month
Z
1000 – 31235
dd | HH | m

Reading Z

Just read the digits: day, hour, tens of minutes. The last digit always represents the tens of minutes of the datetime, so :04 becomes 0 and :38 becomes 3.

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.

Examples

Datetime (UTC)VersionHow 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.
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.
Full MSI compatibility. All components fit within 255.255.65535. Works everywhere: Windows MSI, macOS, Linux, NSIS, MSIX, iOS, Android.