Nyx con Ejemplos

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.

← Anterior Siguiente →

Source: examples/by-example/19-datetime.nx