1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-13 17:40:53 +00:00
FrankerFaceZ/src/utilities/time.js

66 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-11-13 01:23:39 -05:00
'use strict';
export function getBuster(resolution = 5) {
const now = Math.floor(Date.now() / 1000);
return now - (now % resolution);
}
2017-11-13 01:23:39 -05:00
export function duration_to_string(elapsed, separate_days, days_only, no_hours, no_seconds) {
const seconds = elapsed % 60;
let minutes = Math.floor(elapsed / 60),
hours = Math.floor(minutes / 60),
days = '';
minutes = minutes % 60;
if ( separate_days ) {
days = Math.floor(hours / 24);
hours = hours % 24;
if ( days_only && days > 0 )
return `${days} days`;
days = days > 0 ? `${days} days, ` : '';
}
const show_hours = (!no_hours || days || hours);
2017-11-13 01:23:39 -05:00
return `${days}${
show_hours ? `${days && hours < 10 ? '0' : ''}${hours}:` : ''
}${show_hours && minutes < 10 ? '0' : ''}${minutes}${
2017-11-13 01:23:39 -05:00
no_seconds ? '' : `:${seconds < 10 ? '0' : ''}${seconds}`}`;
}
export function print_duration(seconds) {
let minutes = Math.floor(seconds / 60);
const hours = Math.floor(minutes / 60);
minutes %= 60;
seconds %= 60;
return `${hours > 0 ? `${hours}:${minutes < 10 ? '0' : ''}` : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
}
export function durationForChat(elapsed) {
const seconds = elapsed % 60;
let minutes = Math.floor(elapsed / 60);
let hours = Math.floor(minutes / 60);
const days = Math.floor(hours / 24);
minutes = minutes % 60;
hours = hours % 24;
return `${days > 0 ? `${days}d` : ''}${hours > 0 ? `${hours}h` : ''}${minutes > 0 ? `${minutes}m` : ''}${seconds > 0 ? `${seconds}s` : ''}`;
}
export function durationForURL(elapsed) {
const seconds = elapsed % 60;
let minutes = Math.floor(elapsed / 60);
const hours = Math.floor(minutes / 60);
minutes = minutes % 60;
return `${hours > 0 ? `${hours}h` : ''}${minutes > 0 ? `${minutes}m` : ''}${seconds > 0 ? `${seconds}s` : ''}`;
2017-11-13 01:23:39 -05:00
}