The Time: module reads the current wall-clock time and provides a high-resolution process timer for benchmarking. All methods follow the ByRef convention.
| Call | Effect |
|---|---|
Time:GetHour(outVar) |
Current hour (0–23) → outVar |
Time:GetMinute(outVar) |
Current minute → outVar |
Time:GetSecond(outVar) |
Current second → outVar |
Time:GetDay(outVar) |
Day of month → outVar |
Time:GetMonth(outVar) |
Month (1–12) → outVar |
Time:GetYear(outVar) |
Full year (e.g. 2025) → outVar |
Time:GetTimer(outVar) |
Seconds since process epoch (double, for timing) → outVar |
Var:Number h;
Var:Number m;
Var:Number s;
Time:GetHour(h);
Time:GetMinute(m);
Time:GetSecond(s);
Konsol:Print("${h}:${m}:${s}");
Var:Number t0;
Var:Number t1;
Time:GetTimer(t0);
// ... work ...
Time:GetTimer(t1);
Konsol:Print("elapsed: ${t1 - t0}s");
For date arithmetic and formatting, see Date.
// 13_time.ks — Time module + GetTimer for benchmarking
Konsol:Print("=== Time Module ===");
Var:Number result;
// Current date
Time:GetYear(result); Konsol:Print("Year = ${result}");
Time:GetMonth(result); Konsol:Print("Month = ${result}");
Time:GetDay(result); Konsol:Print("Day = ${result}");
// Current time
Time:GetHour(result); Konsol:Print("Hour = ${result}");
Time:GetMinute(result); Konsol:Print("Minute = ${result}");
Time:GetSecond(result); Konsol:Print("Second = ${result}");
// Format a date string manually
Var:Number yr;
Var:Number mo;
Var:Number dy;
Time:GetYear(yr);
Time:GetMonth(mo);
Time:GetDay(dy);
Konsol:Print("Date: ${yr} - ${mo} - ${dy}");
// Format a time string
Var:Number hr;
Var:Number mn;
Var:Number sc;
Time:GetHour(hr);
Time:GetMinute(mn);
Time:GetSecond(sc);
Konsol:Print("Time: ${hr} : ${mn} : ${sc}");
// ── GetTimer — benchmark a loop ──────────────────────────────────────────────
Konsol:Print("--- benchmark ---");
Var:Number start;
Time:GetTimer(start);
// Do some work
Var:Number sum = 0;
for (Var:Number i = 0; i < 10000; i++) {
sum += i;
}
Konsol:Print("sum 0..9999 = ${sum}");
Var:Number end;
Time:GetTimer(end);
Var:Number elapsed = end - start;
Konsol:Print("elapsed (s) = ${elapsed}");
// ── Time-based logic ─────────────────────────────────────────────────────────
Konsol:Print("--- time-based greeting ---");
Var:Number h;
Time:GetHour(h);
if (h < 12) {
Konsol:Print("Good morning!");
} else if (h < 18) {
Konsol:Print("Good afternoon!");
} else {
Konsol:Print("Good evening!");
}
// ── Simple stopwatch ─────────────────────────────────────────────────────────
Konsol:Print("--- stopwatch ---");
Var:Number t0;
Time:GetTimer(t0);
Konsol:Delay(150);
Var:Number t1;
Time:GetTimer(t1);
Konsol:Print("150ms delay measured (s) = ${t1 - t0}");