@@ -40,7 +40,7 @@ export const stringifyVdiskId = (id?: TVDiskID | TVSlotId) => {
4040 return id ? Object . values ( id ) . join ( '-' ) : '' ;
4141} ;
4242
43- export const formatUptime = ( seconds : number ) => {
43+ export const formatUptimeInSeconds = ( seconds : number ) => {
4444 const days = Math . floor ( seconds / DAY_IN_SECONDS ) ;
4545 const remain = seconds % DAY_IN_SECONDS ;
4646
@@ -52,9 +52,32 @@ export const formatUptime = (seconds: number) => {
5252} ;
5353
5454export const formatMsToUptime = ( ms ?: number ) => {
55- return ms && formatUptime ( ms / 1000 ) ;
55+ return ms && formatUptimeInSeconds ( ms / 1000 ) ;
5656} ;
5757
58+ export function getUptimeFromDateFormatted ( dateFrom ?: number | string , dateTo ?: number | string ) {
59+ let diff = calcTimeDiffInSec ( dateFrom , dateTo ) ;
60+
61+ // Our time and server time could differ a little
62+ // Prevent wrong negative uptime values
63+ diff = diff < 0 ? 0 : diff ;
64+
65+ return formatUptimeInSeconds ( diff ) ;
66+ }
67+
68+ export function getDowntimeFromDateFormatted ( dateFrom ?: number | string , dateTo ?: number | string ) {
69+ return '-' + getUptimeFromDateFormatted ( dateFrom , dateTo ) ;
70+ }
71+
72+ export function calcTimeDiffInSec (
73+ dateFrom ?: number | string ,
74+ dateTo : number | string = new Date ( ) . getTime ( ) ,
75+ ) {
76+ const diffMs = Number ( dateTo ) - Number ( dateFrom ) ;
77+
78+ return diffMs / 1000 ;
79+ }
80+
5881export function formatStorageValues (
5982 value ?: number ,
6083 total ?: number ,
@@ -175,16 +198,6 @@ export const formatTimestamp = (value?: string | number, defaultValue = '') => {
175198 return formattedData ?? defaultValue ;
176199} ;
177200
178- export const calcUptimeInSeconds = ( milliseconds : number | string ) => {
179- const currentDate = new Date ( ) ;
180- const diff = currentDate . getTime ( ) - Number ( milliseconds ) ;
181- return diff <= 0 ? 0 : diff / 1000 ;
182- } ;
183-
184- export const calcUptime = ( milliseconds ?: number | string ) => {
185- return formatUptime ( calcUptimeInSeconds ( Number ( milliseconds ) ) ) ;
186- } ;
187-
188201export function getStringifiedData ( value : unknown ) {
189202 if ( value === undefined ) {
190203 return '' ;
0 commit comments