Socket
Socket
Sign inDemoInstall

@wojtekmaj/date-utils

Package Overview
Dependencies
0
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @wojtekmaj/date-utils

A collection of date-related utilities.


Version published
Weekly downloads
512K
decreased by-0.78%
Maintainers
1
Install size
116 kB
Created
Weekly downloads
 

Readme

Source

npm downloads CI

Date-Utils

A collection of date-related utilities.

tl;dr

  • Install by executing npm install @wojtekmaj/date-utils or yarn 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'); // 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'); // 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'); // 0
getSeconds('22:41:56'); // 56
getSeconds('22:41:56.321'); // 56
getMilliseconds()

Gets milliseconds from a given date or string.

Sample usage
import { getMilliseconds } from '@wojtekmaj/date-utils';

getMilliseconds(new Date(2019, 0, 15, 22, 41, 56, 321)); // 321
getMilliseconds('22:41'); // 0
getMilliseconds('22:41:56'); // 0
getMilliseconds('22:41:56.321'); // 321
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 start and end dates 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)
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 start and end dates 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)
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 start and end dates 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)
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 start and end dates 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)
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 start and end dates 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 Wojciech Maj

Keywords

FAQs

Last updated on 18 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc