Skip to content

parseUnitFromUnix

parseUnitFromUnix(value: string | number, unit: PlainNowUnit, options?: { epochUnit?: UnixUnit; timeZone?: string; weekStartsOn?: "monday" | "sunday"; }): string
import { parseUnitFromUnix } from "@northguild/gmt/unix/parse";

Extract a unit from a unix epoch value.

  • Valid units: “year”, “month”, “week”, “day”, “dayOfWeek”, “hour”, “minute”, “second”, “millisecond”, “microsecond”, “nanosecond”.
  • Converts to ZonedDateTime then extracts the unit.
  • Returns “” for invalid input.
Parameter Type Description
value string | number unix epoch in milliseconds or seconds (number or string)
unit PlainNowUnit unit to extract (e.g. “year”, “month”, “hour”)

options

Option Type Default
epochUnit? UnixUnit
timeZone? string
weekStartsOn? "monday" | "sunday"

extracted unit value as string, or “” on invalid input

parseUnitFromUnix(1700000000000, "year") // "2023"
parseUnitFromUnix(1700000000, "hour", { epochUnit: "seconds" }) // "12"
parseUnitFromUnix(1704067200000, "week") // "1"
parseUnitFromUnix(1704067200000, "week", { weekStartsOn: "sunday" }) // "1"
parseUnitFromUnix(-86400, { epochUnit: "seconds" }, "year") // "1969"

unix/parse/parseUnitFromUnix.ts