Files
csgowtf/src/utils/DateTime.js
2022-11-14 01:27:49 +01:00

70 lines
1.8 KiB
JavaScript

import {DateTime, Duration} from "luxon";
export const ConvertTickToTime = (tick, rate = 64) => {
const time = Duration.fromObject({hours: 0, minutes: 0, seconds: tick / rate || 0})
if (time.hours > 1)
return time.toFormat('hh:mm:ss')
else if (time.hours < 1)
return time.toFormat('mm:ss')
}
export const FormatDuration = (d) => {
const duration = Duration.fromObject({hours: 0, minutes: 0, seconds: d}).normalize().toObject()
if (duration.hours > 1)
return `${duration.hours} h ${duration.minutes} min`
else if (duration.hours < 1)
return `${duration.minutes} min`
}
export const FormatFullDuration = (d) => {
const duration = Duration.fromObject({hours: 0, minutes: 0, seconds: d}).normalize()
if (duration.hours > 1)
return duration.toFormat('hh:mm:ss')
else if (duration.hours < 1)
return duration.toFormat('mm:ss')
}
export const FormatDate = (date) => {
const matchDate = DateTime.fromSeconds(date || 0)
const diff = DateTime.now().diff(matchDate)
if (diff.as('days') > 8)
return matchDate.toLocaleString({weekday: 'short', day: '2-digit', month: '2-digit', year: 'numeric'})
else
return matchDate.toRelative()
}
export const FormatFullDate = (date) => {
const matchDate = DateTime.fromSeconds(date || 0)
return matchDate.toLocaleString({
weekday: 'short',
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
})
}
export const FormatVacDate = (date, match) => {
const vacDate = DateTime.fromSeconds(date || 0)
const matchDate = DateTime.fromSeconds(match || 0)
if (vacDate.diff(matchDate).as('days') >= -30) {
return vacDate.toRelative()
} else {
return ''
}
}
export const MatchNotParsedTime = (match) => {
const matchDate = DateTime.fromSeconds(match || 0)
return matchDate.diffNow().as('hours') >= -2;
}