webapp: add utils method timestampToString
This commit is contained in:
parent
4775f34f5b
commit
cae6ddccb7
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent } from 'vue';
|
import { defineComponent } from 'vue';
|
||||||
|
import { timestampToString } from '@/utils';
|
||||||
|
|
||||||
declare interface EventData {
|
declare interface EventData {
|
||||||
message_id: number,
|
message_id: number,
|
||||||
@ -41,18 +42,7 @@ export default defineComponent({
|
|||||||
computed: {
|
computed: {
|
||||||
timeInHours() {
|
timeInHours() {
|
||||||
return (value: number) => {
|
return (value: number) => {
|
||||||
const days = Math.floor(value / (24 * 60 * 60));
|
return timestampToString(value);
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -56,6 +56,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, type PropType } from 'vue';
|
import { defineComponent, type PropType } from 'vue';
|
||||||
import type { SystemStatus } from '@/types/SystemStatus';
|
import type { SystemStatus } from '@/types/SystemStatus';
|
||||||
|
import { timestampToString } from '@/utils';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
props: {
|
props: {
|
||||||
@ -64,16 +65,7 @@ export default defineComponent({
|
|||||||
computed: {
|
computed: {
|
||||||
timeInHours() {
|
timeInHours() {
|
||||||
return (value: number) => {
|
return (value: number) => {
|
||||||
const days = Math.floor(value / 3600 / 24);
|
return timestampToString(value, true);
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
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