webapp: add utils method timestampToString
This commit is contained in:
parent
4775f34f5b
commit
cae6ddccb7
@ -21,6 +21,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from 'vue';
|
||||
import { timestampToString } from '@/utils';
|
||||
|
||||
declare interface EventData {
|
||||
message_id: number,
|
||||
@ -41,18 +42,7 @@ export default defineComponent({
|
||||
computed: {
|
||||
timeInHours() {
|
||||
return (value: number) => {
|
||||
const days = Math.floor(value / (24 * 60 * 60));
|
||||
const secAfterDays = value - days * (24 * 60 * 60);
|
||||
const hours = Math.floor(secAfterDays / (60 * 60));
|
||||
const secAfterHours = secAfterDays - hours * (60 * 60);
|
||||
const minutes = Math.floor(secAfterHours / 60);
|
||||
const seconds = secAfterHours - minutes * 60;
|
||||
|
||||
const dHours = hours > 9 ? hours : "0" + hours;
|
||||
const dMins = minutes > 9 ? minutes : "0" + minutes;
|
||||
const dSecs = seconds > 9 ? seconds : "0" + seconds;
|
||||
|
||||
return dHours + ":" + dMins + ":" + dSecs;
|
||||
return timestampToString(value);
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
@ -56,6 +56,7 @@
|
||||
<script lang="ts">
|
||||
import { defineComponent, type PropType } from 'vue';
|
||||
import type { SystemStatus } from '@/types/SystemStatus';
|
||||
import { timestampToString } from '@/utils';
|
||||
|
||||
export default defineComponent({
|
||||
props: {
|
||||
@ -64,16 +65,7 @@ export default defineComponent({
|
||||
computed: {
|
||||
timeInHours() {
|
||||
return (value: number) => {
|
||||
const days = Math.floor(value / 3600 / 24);
|
||||
const hours = Math.floor((value - days * 3600 * 24) / 3600);
|
||||
const minutes = Math.floor((value - days * 3600 * 24 - hours * 3600) / 60);
|
||||
const seconds = (value - days * 3600 * 24 - hours * 3600 + minutes * 60) % 60;
|
||||
|
||||
const dHours = hours > 9 ? hours : "0" + hours;
|
||||
const dMins = minutes > 9 ? minutes : "0" + minutes;
|
||||
const dSecs = seconds > 9 ? seconds : "0" + seconds;
|
||||
|
||||
return days + " days " + dHours + ":" + dMins + ":" + dSecs;
|
||||
return timestampToString(value, true);
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
9
webapp/src/utils/index.ts
Normal file
9
webapp/src/utils/index.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { timestampToString } from './time';
|
||||
|
||||
export {
|
||||
timestampToString,
|
||||
};
|
||||
|
||||
export default {
|
||||
timestampToString,
|
||||
}
|
||||
17
webapp/src/utils/time.ts
Normal file
17
webapp/src/utils/time.ts
Normal file
@ -0,0 +1,17 @@
|
||||
export const timestampToString = (value: number, includeDays = false): string => {
|
||||
const days = Math.floor(value / (24 * 60 * 60));
|
||||
const secAfterDays = value - days * (24 * 60 * 60);
|
||||
const hours = Math.floor(secAfterDays / (60 * 60));
|
||||
const secAfterHours = secAfterDays - hours * (60 * 60);
|
||||
const minutes = Math.floor(secAfterHours / 60);
|
||||
const seconds = secAfterHours - minutes * 60;
|
||||
|
||||
const dHours = hours > 9 ? hours : "0" + hours;
|
||||
const dMins = minutes > 9 ? minutes : "0" + minutes;
|
||||
const dSecs = seconds > 9 ? seconds : "0" + seconds;
|
||||
|
||||
if (includeDays) {
|
||||
return days + " days " + dHours + ":" + dMins + ":" + dSecs;
|
||||
}
|
||||
return dHours + ":" + dMins + ":" + dSecs;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user