All files / lib/utils/dateUtils index.js

89.29% Statements 25/28
74.07% Branches 20/27
95% Functions 19/20
89.29% Lines 25/28
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106                  1270x 1270x           255x       37x         2536x       1305x       1528x       186x       2x       1x       1x       2x       245x       245x       280x       3868x 3504x   364x         185x 185x                   1348x                 35x 35x       35x 35x    
import moment from 'moment';
 
export function newDateWithOffset(utcOffset) {
  return moment()
    .utc()
    .utcOffset(utcOffset);
}
 
export function now(maybeFixedUtcOffset) {
  Eif (maybeFixedUtcOffset == null) {
    return moment();
  }
  return newDateWithOffset(maybeFixedUtcOffset);
}
 
export function getStartOfWeek(date) {
  return date.startOf('week');
}
 
export function getStartOfMonth(date) {
  return date.startOf('month');
}
 
// Returns day of month
export function getDate(date) {
  return date.get('date');
}
 
export function getMonth(date) {
  return date.get('month');
}
 
export function addDays(date, amount) {
  return date.add(amount, 'days');
}
 
export function addWeeks(date, amount) {
  return date.add(amount, 'weeks');
}
 
export function addMonths(date, amount) {
  return date.add(amount, 'months');
}
 
export function subtractDays(date, amount) {
  return date.subtract(amount, "days");
}
 
export function subtractWeeks(date, amount) {
  return date.subtract(amount, "weeks");
}
 
export function subtractMonths(date, amount) {
  return date.subtract(amount, 'months');
}
 
export function getLocaleData(date) {
  return date.localeData();
}
 
export function getWeekdayMinInLocale(locale, date) {
  return locale.weekdaysMin(date).substr(0, 1);
}
 
export function localizeDate(date, locale = moment.locale()) {
  return date.clone().locale(locale);
}
 
export function isSameDay(moment1, moment2) {
  if (moment1 && moment2) {
    return moment1.isSame(moment2, 'day');
  } else {
    return !moment1 && !moment2;
  }
}
 
export function isSameMonth(date1, date2) {
  Eif (date1 && date2) {
    return date1.isSame(date2, 'month');
  } else {
    return !date1 && !date2;
  }
}
 
export function isDayDisabled(
  day,
  { minDate, maxDate, filterDate } = {}
) {
  return (
    (minDate && day.isBefore(moment(minDate), 'day')) ||
    (maxDate && day.isAfter(moment(maxDate), 'day')) ||
    (filterDate && filterDate(day.clone())) ||
    false
  );
}
 
export function shouldPrevMonthDisable(day, minDate) {
  const firstDayOfCurrMonth = day.clone().startOf('month');
  return (minDate && !moment(minDate).isBefore(firstDayOfCurrMonth));
}
 
export function shouldNextMonthDisable(day, maxDate) {
  const lastDayOfCurrMonth = day.clone().endOf('month');
  return (maxDate && !moment(maxDate).isAfter(lastDayOfCurrMonth));
}