Skip to content

Time API

Named exports for date/time helpers: format, getTimestamp, plus UTC/timezone/relative/time ranges.

When to use

  • Display time: format(seconds)YYYY-MM-DD HH:mm:ss
  • API fields: nowSeconds() / getUnixTimestamp() → align with backend Unix seconds
  • Countdown: formatDuration(ms)HH:mm:ss or Xd HH:mm:ss
  • Relative time: relativeTime(from,to)2m ago / in 1h
  • Day range: startOfDay/endOfDay in local timezone
  • Date shift: addDays(seconds,n) forward/backwards

Import

ts
import { format, getTimestamp, nowSeconds, formatUTC, getTimezone, relativeTime, formatDuration, addDays, startOfDay, endOfDay, setTimeOfDay, nextAt } from 'nex-lib'

Examples

ts
format()                 // 当前格式化
getTimestamp(0)          // 1970-01-01 毫秒
relativeTime(nowSeconds()-120, nowSeconds())
formatDuration(3700000)
const target = nextAt(3, 18)             // 三天后的 18:00(本地时区)
setTimeOfDay(startOfDay(nowSeconds()), 9, 30) // 今天 09:30:00

format(seconds?: number): string

Formats time to YYYY-MM-DD HH:mm:ss.

getTimestamp(seconds?: number): number

Returns milliseconds.

formatUTC(seconds?: number): string

Formats in UTC timezone.

getTimezone(): string

Returns IANA timezone, e.g. Asia/Shanghai.

nowMs(): number / nowSeconds(): number

Current time in ms / seconds.

getUnixTimestamp(seconds?: number): number

Unix seconds.

getTimezoneOffsetMinutes(): number

UTC offset minutes (e.g. -480).

getISO8601(seconds?: number): string

ISO 8601 string.

relativeTime(fromSeconds: number, toSeconds?: number): string

Relative time in English.

formatDuration(ms: number): string

Duration as HH:mm:ss or Xd HH:mm:ss.

addDays(seconds: number, n: number): number

Shift by n days.

startOfDay(seconds?: number): number / endOfDay(seconds?: number): number

Local day start/end seconds.

setTimeOfDay(seconds, h, m?, s?)

Set to a specific time of day (local timezone).

nextAt(offsetDays, h, m=0, s=0)

Target at given offset days and time (local timezone).

Released under the ISC License.