Package Exports
- @wojtekmaj/date-utils
- @wojtekmaj/date-utils/dist/cjs/index.js
- @wojtekmaj/date-utils/dist/esm/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@wojtekmaj/date-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Date-Utils
A collection of date-related utilities.
tl;dr
- Install by executing
npm install @wojtekmaj/date-utils
oryarn add @wojtekmaj/date-utils
. - Import by adding
import * as dateUtils from '@wojtekmaj/date-utils'
. - Do stuff with it!
const now = new Date(); const startOfCentury = getCenturyStart(now);
User guide
General getters
getYear()
Gets year from a given date.
Sample usage
import { getYear } from '@wojtekmaj/date-utils';
getYear(new Date(2019, 0, 1); // 2019
getMonth()
Gets month index from a given date. For example, returns 0 for January, 1 for February and so on.
Sample usage
import { getMonth } from '@wojtekmaj/date-utils';
getMonth(new Date(2019, 0, 1); // 0
getMonthHuman()
Gets human-readable month number from a given date. For example, returns 1 for January, 2 for February and so on.
Sample usage
import { getMonthHuman } from '@wojtekmaj/date-utils';
getMonthHuman(new Date(2019, 0, 1); // 1
getDate()
Gets day of the month from a given date.
Sample usage
import { getDate } from '@wojtekmaj/date-utils';
getDate(new Date(2019, 0, 15); // 15
getHours()
Gets hours from a given date or string.
Sample usage
import { getHours } from '@wojtekmaj/date-utils';
getHours(new Date(2019, 0, 15, 22, 41, 56); // 22
getHours('22:41:56'); // 22
getMinutes()
Gets minutes from a given date or string.
Sample usage
import { getMinutes } from '@wojtekmaj/date-utils';
getMinutes(new Date(2019, 0, 15, 22, 41, 56); // 41
getMinutes('22:41:56'); // 41
getSeconds()
Gets seconds from a given date or string.
Sample usage
import { getSeconds } from '@wojtekmaj/date-utils';
getSeconds(new Date(2019, 0, 15, 22, 41, 56); // 56
getSeconds('22:41:56'); // 56
getSeconds('22:41:56.321'); // 56
Century-related getters
getCenturyStart()
Gets century start date from a given date.
Sample usage
import { getCenturyStart } from '@wojtekmaj/date-utils';
getCenturyStart(new Date(2019, 0, 1)); // new Date(2001, 0, 1)
getCenturyEnd()
Gets century start date from a given date.
Sample usage
import { getCenturyEnd } from '@wojtekmaj/date-utils';
getCenturyEnd(new Date(2019, 0, 1)); // new Date(2100, 12, 31, 23, 59, 999)
getPreviousCenturyStart()
Gets previous century start date from a given date.
Sample usage
import { getPreviousCenturyStart } from '@wojtekmaj/date-utils';
getPreviousCenturyStart(new Date(2019, 0, 1)); // new Date(1901, 0, 1)
getPreviousCenturyEnd()
Gets century start date from a given date.
Sample usage
import { getPreviousCenturyEnd } from '@wojtekmaj/date-utils';
getPreviousCenturyEnd(new Date(2019, 0, 1)); // new Date(2000, 12, 31, 23, 59, 999)
getNextCenturyStart()
Gets next century start date from a given date.
Sample usage
import { getNextCenturyStart } from '@wojtekmaj/date-utils';
getNextCenturyStart(new Date(2019, 0, 1)); // new Date(2101, 0, 1)
getNextCenturyEnd()
Gets next century start date from a given date.
Sample usage
import { getNextCenturyEnd } from '@wojtekmaj/date-utils';
getNextCenturyEnd(new Date(2019, 0, 1)); // new Date(2200, 12, 31, 23, 59, 999)
getCenturyRange()
Gets century range from a given date. Returns an array of values equal to the ones returned by getCenturyStart()
and getCenturyEnd()
.
Sample usage
import { getCenturyRange } from '@wojtekmaj/date-utils';
getCenturyRange(new Date(2019, 0, 1)); // [new Date(2001, 0, 1), new Date(2100, 12, 31, 23, 59, 999)
Decade-related getters
getDecadeStart()
Gets decade start date from a given date.
Sample usage
import { getDecadeStart } from '@wojtekmaj/date-utils';
getDecadeStart(new Date(2019, 0, 1)); // new Date(2011, 0, 1)
getDecadeEnd()
Gets decade start date from a given date.
Sample usage
import { getDecadeEnd } from '@wojtekmaj/date-utils';
getDecadeEnd(new Date(2019, 0, 1)); // new Date(2020, 12, 31, 23, 59, 999)
getPreviousDecadeStart()
Gets previous decade start date from a given date.
Sample usage
import { getPreviousDecadeStart } from '@wojtekmaj/date-utils';
getPreviousDecadeStart(new Date(2019, 0, 1)); // new Date(2001, 0, 1)
getPreviousDecadeEnd()
Gets decade start date from a given date.
Sample usage
import { getPreviousDecadeEnd } from '@wojtekmaj/date-utils';
getPreviousDecadeEnd(new Date(2019, 0, 1)); // new Date(2010, 12, 31, 23, 59, 999)
getNextDecadeStart()
Gets next decade start date from a given date.
Sample usage
import { getNextDecadeStart } from '@wojtekmaj/date-utils';
getNextDecadeStart(new Date(2019, 0, 1)); // new Date(2021, 0, 1)
getNextDecadeEnd()
Gets next decade start date from a given date.
Sample usage
import { getNextDecadeEnd } from '@wojtekmaj/date-utils';
getNextDecadeEnd(new Date(2019, 0, 1)); // new Date(2030, 12, 31, 23, 59, 999)
getDecadeRange()
Gets decade range from a given date. Returns an array of values equal to the ones returned by getDecadeStart()
and getDecadeEnd()
.
Sample usage
import { getDecadeRange } from '@wojtekmaj/date-utils';
getDecadeRange(new Date(2019, 0, 1)); // [new Date(2011, 0, 1), new Date(2020, 12, 31, 23, 59, 999)
Year-related getters
getYearStart()
Gets year start date from a given date.
Sample usage
import { getYearStart } from '@wojtekmaj/date-utils';
getYearStart(new Date(2019, 6, 1)); // new Date(2019, 0, 1)
getYearEnd()
Gets year start date from a given date.
Sample usage
import { getYearEnd } from '@wojtekmaj/date-utils';
getYearEnd(new Date(2019, 6, 1)); // new Date(2019, 12, 31, 23, 59, 999)
getPreviousYearStart()
Gets previous year start date from a given date.
Sample usage
import { getPreviousYearStart } from '@wojtekmaj/date-utils';
getPreviousYearStart(new Date(2019, 6, 1)); // new Date(2018, 0, 1)
getPreviousYearEnd()
Gets year start date from a given date.
Sample usage
import { getPreviousYearEnd } from '@wojtekmaj/date-utils';
getPreviousYearEnd(new Date(2019, 6, 1)); // new Date(2018, 12, 31, 23, 59, 999)
getNextYearStart()
Gets next year start date from a given date.
Sample usage
import { getNextYearStart } from '@wojtekmaj/date-utils';
getNextYearStart(new Date(2019, 6, 1)); // new Date(2020, 0, 1)
getNextYearEnd()
Gets next year start date from a given date.
Sample usage
import { getNextYearEnd } from '@wojtekmaj/date-utils';
getNextYearEnd(new Date(2019, 6, 1)); // new Date(2020, 12, 31, 23, 59, 999)
getYearRange()
Gets year range from a given date. Returns an array of values equal to the ones returned by getYearStart()
and getYearEnd()
.
Sample usage
import { getYearRange } from '@wojtekmaj/date-utils';
getYearRange(new Date(2019, 6, 1)); // [new Date(2019, 0, 1), new Date(2019, 12, 31, 23, 59, 999)
Month-related getters
getMonthStart()
Gets month start date from a given date.
Sample usage
import { getMonthStart } from '@wojtekmaj/date-utils';
getMonthStart(new Date(2019, 6, 15)); // new Date(2019, 6, 1)
getMonthEnd()
Gets month start date from a given date.
Sample usage
import { getMonthEnd } from '@wojtekmaj/date-utils';
getMonthEnd(new Date(2019, 6, 15)); // new Date(2019, 6, 31, 23, 59, 999)
getPreviousMonthStart()
Gets previous month start date from a given date.
Sample usage
import { getPreviousMonthStart } from '@wojtekmaj/date-utils';
getPreviousMonthStart(new Date(2019, 6, 15)); // new Date(2019, 5, 1)
getPreviousMonthEnd()
Gets month start date from a given date.
Sample usage
import { getPreviousMonthEnd } from '@wojtekmaj/date-utils';
getPreviousMonthEnd(new Date(2019, 6, 15)); // new Date(2019, 5, 30, 23, 59, 999)
getNextMonthStart()
Gets next month start date from a given date.
Sample usage
import { getNextMonthStart } from '@wojtekmaj/date-utils';
getNextMonthStart(new Date(2019, 6, 15)); // new Date(2019, 7, 1)
getNextMonthEnd()
Gets next month start date from a given date.
Sample usage
import { getNextMonthEnd } from '@wojtekmaj/date-utils';
getNextMonthEnd(new Date(2019, 6, 15)); // new Date(2019, 7, 31, 23, 59, 999)
getMonthRange()
Gets month range from a given date. Returns an array of values equal to the ones returned by getMonthStart()
and getMonthEnd()
.
Sample usage
import { getMonthRange } from '@wojtekmaj/date-utils';
getMonthRange(new Date(2019, 6, 15)); // [new Date(2019, 6, 1), new Date(2019, 6, 31, 23, 59, 999)
Day-related getters
getDayStart()
Gets day start date from a given date.
Sample usage
import { getDayStart } from '@wojtekmaj/date-utils';
getDayStart(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 15)
getDayEnd()
Gets day start date from a given date.
Sample usage
import { getDayEnd } from '@wojtekmaj/date-utils';
getDayEnd(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 15, 23, 59, 999)
getPreviousDayStart()
Gets previous day start date from a given date.
Sample usage
import { getPreviousDayStart } from '@wojtekmaj/date-utils';
getPreviousDayStart(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 14)
getPreviousDayEnd()
Gets day start date from a given date.
Sample usage
import { getPreviousDayEnd } from '@wojtekmaj/date-utils';
getPreviousDayEnd(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 14, 23, 59, 999)
getNextDayStart()
Gets next day start date from a given date.
Sample usage
import { getNextDayStart } from '@wojtekmaj/date-utils';
getNextDayStart(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 16)
getNextDayEnd()
Gets next day start date from a given date.
Sample usage
import { getNextDayEnd } from '@wojtekmaj/date-utils';
getNextDayEnd(new Date(2019, 6, 15, 12)); // new Date(2019, 6, 16, 23, 59, 999)
getDayRange()
Gets day range from a given date. Returns an array of values equal to the ones returned by getDayStart()
and getDayEnd()
.
Sample usage
import { getDayRange } from '@wojtekmaj/date-utils';
getDayRange(new Date(2019, 6, 15, 12)); // [new Date(2019, 6, 15), new Date(2019, 6, 15, 23, 59, 999)
Other
getDaysInMonth()
Gets number of days in a month from a given date.
Sample usage
import { getDaysInMonth } from '@wojtekmaj/date-utils';
getDaysInMonth(new Date(2019, 0, 15)); // 31
getHoursMinutes()
Returns local hours and minutes (hh:mm).
Sample usage
import { getHoursMinutes } from '@wojtekmaj/date-utils';
getHoursMinutes(new Date(2019, 0, 15, 16, 4)); // "16:04"
getHoursMinutesSeconds()
Returns local hours, minutes and seconds (hh:mm:ss).
Sample usage
import { getHoursMinutesSeconds } from '@wojtekmaj/date-utils';
getHoursMinutesSeconds(new Date(2019, 0, 15, 16, 4, 41)); // "16:04:41"
getISOLocalMonth()
Returns local month in ISO-like format (YYYY-MM).
Sample usage
import { getISOLocalMonth } from '@wojtekmaj/date-utils';
getISOLocalMonth(new Date(2019, 0, 15)); // "2019-01"
getISOLocalDate()
Returns local date in ISO-like format (YYYY-MM-DD).
Sample usage
import { getISOLocalDate } from '@wojtekmaj/date-utils';
getISOLocalDate(new Date(2019, 0, 15)); // "2019-01-15"
getISOLocalDateTime()
Returns local date & time in ISO-like format (YYYY-MM-DDThh:mm:ss).
Sample usage
import { getISOLocalDateTime } from '@wojtekmaj/date-utils';
getISOLocalDateTime(new Date(2019, 0, 15, 16, 4, 41)); // "2019-01-15T16:04:41"
License
The MIT License.
Author
![]() |
Wojciech Maj kontakt@wojtekmaj.pl https://wojtekmaj.pl |