time
The time module provides time constants and conversion functions.
var time = use('time')
Constants
| Constant | Value | Description |
|---|---|---|
time.second |
1 | Seconds in a second |
time.minute |
60 | Seconds in a minute |
time.hour |
3600 | Seconds in an hour |
time.day |
86400 | Seconds in a day |
time.week |
604800 | Seconds in a week |
time.month |
2629746 | Seconds in a month (30.44 days) |
time.year |
31556952 | Seconds in a year (365.24 days) |
Getting Current Time
time.number()
Get current time as seconds since epoch.
var now = time.number() // e.g., 1702656000
time.record()
Get current time as a record.
var now = time.record()
// {year: 2024, month: 1, day: 15, hour: 10, minute: 30, second: 45, nanosecond: 123456789}
time.text(format)
Get current time as formatted text.
time.text() // default format
time.text("yyyy-MM-dd HH:mm:ss.SSS") // custom format
Converting Time
time.number(text, format, zone)
Parse text to timestamp.
time.number("2024-01-15", "yyyy-MM-dd")
time.number(record)
Convert record to timestamp.
time.number({year: 2024, month: 1, day: 15})
time.text(number, format, zone)
Format timestamp as text.
time.text(1702656000, "yyyy-MM-dd") // "2024-01-15"
time.record(number)
Convert timestamp to record.
time.record(1702656000)
// {year: 2024, month: 1, day: 15, ...}
Time Arithmetic
var now = time.number()
// Tomorrow at this time
var tomorrow = now + time.day
// One week ago
var last_week = now - time.week
// In 2 hours
var later = now + (2 * time.hour)
// Format future time
log.console(time.text(tomorrow))
Example
var time = use('time')
// Measure execution time
var start = time.number()
// ... do work ...
var elapsed = time.number() - start
log.console(`Took ${elapsed} seconds`)
// Schedule for tomorrow
var tomorrow = time.number() + time.day
log.console(`Tomorrow: ${time.text(tomorrow, "yyyy-MM-dd")}`)