Date and Time Concepts
Date Parts
Read individual date parts from the table returned by os.date.
part lookup
Immediate field reads keep the visible trace scalar while still showing the date-parts table API.
Date Parts
date_parts.lua
Replay: real traced execution (multi-file project)
local timestamp = 1704067200
local year = os.date("!*t", timestamp).year
local month = os.date("!*t", timestamp).month
local day = os.date("!*t", timestamp).day
print("year=" .. year)
print("month=" .. month)
print("day=" .. day)
local timestamp = 1717200000
local year = os.date("!*t", timestamp).year
local month = os.date("!*t", timestamp).month
local day = os.date("!*t", timestamp).day
print("year=" .. year)
print("month=" .. month)
print("day=" .. day)
local timestamp = 1735689600
local year = os.date("!*t", timestamp).year
local month = os.date("!*t", timestamp).month
local day = os.date("!*t", timestamp).day
print("year=" .. year)
print("month=" .. month)
print("day=" .. day)
timestamp ← 1704067200, year ← 2024, month ← 1, day ← 1
1local timestamp→ 1704067200 = 1704067200 --@timestamp=1717200000, 17356896002local year→ 2024 = os.date("!*t", timestamp1704067200).year3local month→ 1 = os.date("!*t", timestamp1704067200).month4local day→ 1 = os.date("!*t", timestamp1704067200).day5print("year=" .. year2024)6print("month=" .. month1)7print("day=" .. day1)outputyear=2024 month=1 day=1
timestamp ← 1717200000, year ← 2024, month ← 6, day ← 1
1local timestamp→ 1717200000 = 17172000002local year→ 2024 = os.date("!*t", timestamp1717200000).year3local month→ 6 = os.date("!*t", timestamp1717200000).month4local day→ 1 = os.date("!*t", timestamp1717200000).day5print("year=" .. year2024)6print("month=" .. month6)7print("day=" .. day1)outputyear=2024 month=6 day=1
timestamp ← 1735689600, year ← 2025, month ← 1, day ← 1
1local timestamp→ 1735689600 = 17356896002local year→ 2025 = os.date("!*t", timestamp1735689600).year3local month→ 1 = os.date("!*t", timestamp1735689600).month4local day→ 1 = os.date("!*t", timestamp1735689600).day5print("year=" .. year2025)6print("month=" .. month1)7print("day=" .. day1)outputyear=2025 month=1 day=1