@leancodepl/api-date-dayjs
v9.6.6
Published
Day.js integration for API date type conversion
Downloads
339
Readme
@leancodepl/api-date-dayjs
Date conversion utilities using Day.js for API date types.
Installation
npm install @leancodepl/api-date-dayjs
# or
yarn add @leancodepl/api-date-dayjsAPI
fromApiDate(date)
Converts ApiDateOnly to Day.js object.
Parameters:
date: ApiDateOnly- The API date string to convert
Returns: Day.js object
toApiDate(date)
Converts Day.js object to ApiDateOnly.
Parameters:
date: dayjs.Dayjs- The Day.js object to convert
Returns: ApiDateOnly string
fromApiTime(time)
Converts ApiTimeOnly to Day.js object.
Parameters:
time: ApiTimeOnly- The API time string to convert
Returns: Day.js object
toApiTime(time)
Converts Day.js object to ApiTimeOnly.
Parameters:
time: dayjs.Dayjs- The Day.js object to convert
Returns: ApiTimeOnly string
fromApiDateTimeOffset(datetime)
Converts ApiDateTimeOffset to Day.js object.
Parameters:
datetime: ApiDateTimeOffset- The API datetime with offset string to convert
Returns: Day.js object
toApiDateTimeOffset(time)
Converts Day.js object to ApiDateTimeOffset.
Parameters:
time: dayjs.Dayjs- The Day.js object to convert
Returns: ApiDateTimeOffset string
fromApiTimeSpan(timeSpan)
Converts ApiTimeSpan to Day.js duration.
Parameters:
timeSpan: ApiTimeSpan- The API timespan string to convert
Returns: Day.js duration object
toApiTimeSpan(duration)
Converts Day.js duration to ApiTimeSpan.
Parameters:
duration: duration.Duration- The Day.js duration object to convert
Returns: ApiTimeSpan string
dropLocalOffset(time)
Utility to remove local timezone offset from Day.js object.
Parameters:
time: dayjs.Dayjs- The Day.js object to process
Returns: Day.js object with UTC offset but keeping local time
Usage Examples
Date Conversion
import { fromApiDate, toApiDate } from "@leancodepl/api-date-dayjs"
import dayjs from "dayjs"
const apiDate = "2023-12-25"
const dayjsDate = fromApiDate(apiDate)
console.log(dayjsDate.format("YYYY-MM-DD")) // '2023-12-25'
const convertedBack = toApiDate(dayjsDate)
console.log(convertedBack) // '2023-12-25'Time Conversion
import { fromApiTime, toApiTime } from "@leancodepl/api-date-dayjs"
const apiTime = "14:30:00"
const dayjsTime = fromApiTime(apiTime)
const convertedBack = toApiTime(dayjsTime)
console.log(convertedBack) // '14:30:00'DateTime with Offset
import { fromApiDateTimeOffset, toApiDateTimeOffset } from "@leancodepl/api-date-dayjs"
const apiDateTime = "2023-12-25T14:30:00+01:00"
const dayjsDateTime = fromApiDateTimeOffset(apiDateTime)
const convertedBack = toApiDateTimeOffset(dayjsDateTime)
console.log(convertedBack) // '2023-12-25T14:30:00+01:00'Timezone Handling
import { dropLocalOffset } from "@leancodepl/api-date-dayjs"
import dayjs from "dayjs"
const localDate = dayjs("2023-12-25T14:30:00")
const utcDate = dropLocalOffset(localDate)
console.log(utcDate.format()) // Date without local offset