@lifi/widget
Version:
LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.
40 lines (36 loc) • 1.04 kB
text/typescript
export type TimeFromMillisecondsType = {
totalMilliseconds: number
totalSeconds: number
milliseconds: number
seconds: number
minutes: number
hours: number
days: number
}
export function getTimeFromMilliseconds(
millisecs: number,
isCountDown = true
): TimeFromMillisecondsType {
const totalSeconds = isCountDown
? Math.ceil(millisecs / 1000)
: Math.floor(millisecs / 1000)
const days = Math.floor(totalSeconds / (60 * 60 * 24))
const hours = Math.floor((totalSeconds % (60 * 60 * 24)) / (60 * 60))
const minutes = Math.floor((totalSeconds % (60 * 60)) / 60)
const seconds = Math.floor(totalSeconds % 60)
const milliseconds = Math.floor(millisecs % 1000)
return {
totalMilliseconds: millisecs,
totalSeconds,
milliseconds,
seconds,
minutes,
hours,
days,
}
}
export function getMillisecondsFromExpiry(expiry: Date): number {
const now = Date.now()
const milliSecondsDistance = expiry?.getTime() - now
return milliSecondsDistance > 0 ? milliSecondsDistance : 0
}