summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/logs/utils.js
blob: 8e21863dd0c2a279bb04bf99441924f14e96daa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import dateFormat from 'dateformat';
import { secondsToMilliseconds } from '~/lib/utils/datetime_utility';
import { dateFormatMask } from './constants';

/**
 * Returns a time range (`start`, `end`) where `start` is the
 * current time minus a given number of seconds and `end`
 * is the current time (`now()`).
 *
 * @param {Number} seconds Seconds duration, defaults to 0.
 * @returns {Object} range Time range
 * @returns {String} range.start ISO String of current time minus given seconds
 * @returns {String} range.end ISO String of current time
 */
export const getTimeRange = (seconds = 0) => {
  const end = Math.floor(Date.now() / 1000); // convert milliseconds to seconds
  const start = end - seconds;

  return {
    start: new Date(secondsToMilliseconds(start)).toISOString(),
    end: new Date(secondsToMilliseconds(end)).toISOString(),
  };
};

export const formatDate = (timestamp) => dateFormat(timestamp, dateFormatMask);