Fecha y Hora
Nyx ofrece funciones de tiempo incorporadas para las necesidades más comunes: timestamps Unix en segundos y milisegundos, una cadena formateada con la fecha y hora actual, y conversión de un valor epoch de vuelta a una fecha legible. No se necesita ningún import para estos primitivos.
Código
// 19: Date and time — timestamps, formatting, sleep
fn main() -> int {
// Current Unix timestamp
let now: int = time()
print("Unix timestamp: " + int_to_string(now))
// Millisecond precision
let ms: int = time_ms()
print("Milliseconds: " + int_to_string(ms))
// Formatted datetime
let dt: String = datetime_now()
print("Current datetime: " + dt)
// From epoch
let formatted: String = datetime_from_epoch(now)
print("From epoch: " + formatted)
return 0
}
Salida
Unix timestamp: 1744761600 Milliseconds: 1744761600123 Current datetime: 2026-04-15 12:00:00 From epoch: 2026-04-15 12:00:00
Explicación
time() devuelve el timestamp Unix actual como un int — el número de segundos desde el epoch Unix (1970-01-01 00:00:00 UTC). Esta es la forma estándar de registrar el momento de un evento, medir duraciones restando dos timestamps, o establecer tiempos de expiración para cachés y tokens.
time_ms() devuelve el mismo valor pero con precisión de milisegundos, útil para medir el rendimiento de operaciones cortas o generar IDs monótonamente crecientes. datetime_now() devuelve la hora local formateada como una cadena legible en estilo ISO-8601.
datetime_from_epoch(ts) convierte cualquier timestamp Unix de vuelta al mismo formato legible. Esto resulta útil cuando guardas timestamps crudos en una base de datos o archivo de log y quieres mostrarlos más tarde. Para aritmética de fechas más avanzada — sumar días, parsear formatos arbitrarios o trabajar con zonas horarias — consulta std/datetime.