Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@wojtekmaj/date-utils

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wojtekmaj/date-utils

A collection of date-related utilities.

  • 1.5.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
653K
increased by14.34%
Maintainers
1
Weekly downloads
 
Created
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

Package last updated on 18 Oct 2023

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc