frequi_origin/src/shared/formatters.ts

59 lines
1.5 KiB
TypeScript
Raw Normal View History

2020-07-11 15:12:16 +00:00
import * as moment from 'moment';
2020-09-12 17:21:35 +00:00
import humanizeDuration from 'humanize-duration';
2020-06-05 09:22:14 +00:00
2020-08-25 17:52:07 +00:00
export function formatPercent(value: number, decimals = 3): string {
return value ? `${(value * 100).toFixed(decimals)}%` : '';
2020-06-02 11:05:16 +00:00
}
2021-02-03 06:53:38 +00:00
export function formatPrice(value: number, decimals = 8): string {
return value ? value.toFixed(decimals) : '';
}
2020-12-05 18:32:37 +00:00
export function dateFromString(datestring: string, format: string): Date {
return moment(datestring, format).toDate();
}
/**
*
* @param ts Timestamp as number or date (in utc!!)
*/
2020-07-13 19:40:05 +00:00
export function timestampms(ts: number | Date): string {
return moment.utc(ts).format('YYYY-MM-DD HH:mm:ss');
2020-06-05 09:22:14 +00:00
}
2020-07-11 15:25:14 +00:00
/**
* Converts timestamp or Date object to YYYY-MM-DD format.
* @param ts
*/
export function timestampToDateString(ts: number | Date): string {
2020-07-11 15:15:13 +00:00
return moment(ts).format('YYYY-MM-DD');
}
2020-07-11 15:25:14 +00:00
/**
* Converts a String of the format YYYY-MM-DD to YYYYMMDD. To be used as timerange.
* @param datestring Input string (in the format YYYY-MM-DD)
*/
export function dateStringToTimeRange(datestring: string): string {
return datestring.replace(/-/g, '');
2020-07-11 15:15:13 +00:00
}
2020-08-17 19:15:15 +00:00
export function timestampHour(ts: number | Date): number {
return moment.utc(ts).hour();
2020-08-17 19:15:15 +00:00
}
2020-09-12 17:21:35 +00:00
/**
* Get humanized Duration from seconds
* @param duration Duration in seconds
*/
export function humanizeDurationFromSeconds(duration: number): string {
return humanizeDuration(duration * 1000);
}
export default {
formatPrice,
formatPercent,
2020-06-05 09:22:14 +00:00
timestampms,
2020-07-11 15:15:13 +00:00
timestampToDateString,
dateStringToTimeRange,
};