Author: | sandypockets |
---|---|
Views Total: | 68 views |
Official Page: | Go to website |
Last Update: | April 26, 2022 |
License: | MIT |
Preview:

Description:
Easy Dates is a JavaScript library that allows you to get, compare and convert dates in an easy way.
Table Of Contents
- areIntervalsOverlapping
- closestTo
- dateNow
- dateNowISO
- dateNowUnix
- dateToMilliseconds
- dateToUnix
- daysFromNow
- daysToWeeks
- findEarliest
- findLatest
- getDaysInMonth
- getDuration
- getMonthIndex
- getMonthName
- getOverlappingDaysInIntervals
- getTodayName
- getTomorrow
- getYear
- hoursToMilliseconds
- hoursToMinutes
- isAfter
- isBefore
- isDate
- isEqual
- isInPast
- millisecondsToSeconds
- millisecondsToMinutes
- millisecondsToHours
- minutesToSeconds
- minutesToHours
- minutesToMilliseconds
- monthsToQuarters
- monthsToYears
- quartersToYears
- quartersToMonths
- secondsToMilliseconds
- secondsToMinutes
- secondsToHours
- unixToDate
- weeksToDays
- yearsToDays
- yearsToMonths
- yearsToQuarters
How to use it:
1. Install & download.
# Yarn $ yarn add easy-dates # NPM $ npm i easy-dates
2. Import the Easy Dates.
// ES Module import { dateNow } from 'easy-dates';
<script src="https:///unpkg.com/easy-dates"></script>
3. closestTo(controlDate, compareDate)
. Return an object containing data of the compareDate closest to the controlDate.
// compare multiple dates const twentyFourHours = 86400000; const today = new Date(Date.now()); const tomorrow = new Date(Date.now() + twentyFourHours); const dayAfterTomorrow = new Date(Date.now() + twentyFourHours * 2); const weekAfterTomorrow = new Date(Date.now() + twentyFourHours * 7); const argumentsArray = [tomorrow, dayAfterTomorrow, weekAfterTomorrow]; closestTo(today, argumentsArray) /* returns... { difference: 85400000, closest: Sat Mar 19 2022 20:26:34 GMT-0400 (Eastern Daylight Time), closestIndex: 0 } */
// compare a single date const twentyFourHours = 86400000; const today = new Date(Date.now()); const tomorrow = new Date(Date.now() + twentyFourHours); closestTo(today, [tomorrow]) /* returns... { difference: 85400000, closest: Sat Mar 19 2022 20:26:34 GMT-0400 (Eastern Daylight Time), closestIndex: 0 } */
4. dateNow(local)
. Get the current date in a specified locale.
dateNow('en-US') /* returns... 3/26/2022, 2:18:24 PM */
5. dateToUnix()
. Convert a given date to a Unix timestamp.
// Sat Mar 19 2022 23:46:03 GMT-0400 (Eastern Daylight Time) const dateObject = new Date(Date.now()) // 1647747963147 const millisecondsDateStamp = new Date(Date.now()).getTime(); // 1647747963 dateToUnix(dateObject) // 1647747963 dateToUnix(millisecondsDateStamp)
6. daysFromNow(multiplier, locale)
. Return a localized date that is a specified number of days away.
// Tue Mar 22 2022 00:08:07 GMT-0400 (Eastern Daylight Time) daysFromNow(1) // '22/03/2022, 00:08:57' daysFromNow(1, 'en-UK') // '5/2/2022, 12:09:45 AM' daysFromNow(42, 'en-US')
7. getDaysInMonth(month, year)
. Returns the number of days in a given month.
// 28 getDaysInMonth(1, 2022) // 28 getDaysInMonth("feb", 2022) // 28 getDaysInMonth()
8. getDuration(firstDate, secondDate, measure)
. Return a number representing the amount of time between two dates.
const oneDay = 86400000; const today = new Date(Date.now()); const tomorrow = new Date(Date.now() + oneDay); getDuration(today, tomorrow, 'seconds') // 86400 getDuration(today, tomorrow, 'minutes') // 1440 getDuration(today, tomorrow, 'hours') // 24 getDuration(today, tomorrow, 'days') // 1 getDuration(today, tomorrow, 'weeks') // 0.14246575342465753 getDuration(today, tomorrow, 'months') // 0.03287671232876713 getDuration(today, tomorrow, 'years') // 0.0027397260273972603
9. getMonthIndex(monthName)
. Return the index of the current month.
getMonthIndex() // 2 // or getMonthIndex('current') // 2 getMonthIndex('April') // 3 // or getMonthIndex('april') // 3 getMonthIndex('Apr') // 3 // or getMonthIndex('apr') // 3
10. getTodayName(local)
. Return the name of today’s day.
// 2022-03-19, 4:00:29 p.m. getTomorrow('en-CA')
11. getYear()
. Return the current year.
// 2022 getYear()
12. isAfter(date, dateToCompare)
. Return a boolean, true if the first date is after the second date.
// true isAfter(new Date('2022-01-01'), new Date('2022-01-02')) // false isAfter(new Date('2022-01-01'), new Date('2022-01-01'))
13. isBefore(date, dateToCompare)
. Return a boolean, false if the first date is after the second date.
// false isBefore(new Date('2022-01-01'), new Date('2022-01-02')) // true isBefore(new Date('2022-01-01'), new Date('2022-01-01'))
14. isDate(date)
. Return a boolean, false if the first date is after the second date.
// true isDate(new Date('2022-01-01')) // false isDate('2022-01-02')
15. isEqual(date, dateToCompare)
. Return a boolean, false if the first date is after the second date.
// true isEqual(new Date(Date.now()), new Date(Date.now())) // false isEqual(new Date('2022-01-01'), new Date('2022-01-02'))
16. isInPast(date)
. Return a boolean, true if the given date is in the future.
// true isInPast(new Date('2022-01-01')) // false isInPast(new Date('2030-01-01'))
17. unixToDate(unixTimeStamp, locale)
. Convert a Unix timestamp to a date object.
// Wed Mar 23 2022 19:32:12 GMT-0400 (Eastern Daylight Time) unixToDate(1648078332) // 2022-03-23, 7:32:12 p.m. unixToDate(1648078332, 'en-CA')
18. getDuration(unixTimestamp, measure)
. Convert a Unix timestamp to a duration.
const firstDate = new Date("December 17, 1995 03:24:00"); const secondDate = new Date("December 17, 2000 03:24:00"); // Gets difference between 1995 and 2000 as a Unix timestamp const durationAsUnixTimestamp = getDuration(firstDate, secondDate, "seconds"); // Convert the Unix timestamp from seconds into years unixToDuration(durationAsUnixTimestamp, "years") // 5.019230769230769
19. areIntervalsOverlapping(rangeOne, rangeTwo)
. Returns a boolean representing whether two date ranges have any overlap.
const oneDay = 24 * 60 * 60 * 1000; const today = new Date(Date.now()); const tomorrow = new Date(Date.now() + oneDay); const nextWeek = new Date(Date.now() + oneDay * 7); const rangeOne = [today, nextWeek]; const rangeTwo = [tomorrow, nextWeek]; areIntervalsOverlapping(rangeOne, rangeTwo) // true
20. dateNowISO()
. Returns the current date as an ISO 8601 string.
dateNowISO() // "2022-04-11T14:39:05.539Z"
21. dateNowUnix()
. Returns a number representing the current date and time in Unix time (seconds).
dateNowUnix() // 1648871014
22. dateToMilliseconds(date)
. Returns the number of milliseconds (JavaScript timestamp) representing a given date.
dateToMilliseconds(new Date("2022-01-01")) // 1640995200000
23. daysToWeeks(days)
. Returns the number of weeks equal to the given number of days.
daysToWeeks(14); // 2
24. findEarliest(array)
. Returns the earliest date from an array of dates, in milliseconds.
const today = new Date(); const tomorrow = new Date(today.getTime() + 86400000); const latestDate = findEarliest([today, tomorrow]) // 1648513095866 new Date(latestDate) // Sun Mar 27 2022 20:18:22 GMT-0400 (Eastern Daylight Time)
25. findLatest(array)
. Returns the latest date from an array of dates, in milliseconds.
const today = new Date(); const tomorrow = new Date(today.getTime() + 86400000); const latestDate = findLatest([today, tomorrow]) new Date(latestDate) // Mon Mar 28 2022 20:17:22 GMT-0400 (Eastern Daylight Time)
26. getOverlappingDaysInIntervals(rangeOne, rangeTwo)
. Returns an array of dates representing the days that overlap between two date ranges.
getOverlappingDaysInIntervals( [new Date(2022, 0, 1), new Date(2022, 0, 10)], [new Date(2022, 0, 2), new Date(2022, 0, 11)] )
27. hoursToMilliseconds(hours)
. Returns the number of milliseconds in the specified number of hours.
hoursToMilliseconds(2) // 7200000
28. hoursToMinutes(hours)
. Returns the number of milliseconds in the specified number of hours.
hoursToMinutes(1) // 60
29. millisecondsToSeconds(milliseconds)
. Returns the number of milliseconds in the specified number of hours.
millisecondsToSeconds(60000); // 60
30. millisecondsToMinutes(milliseconds)
. Returns the number of minutes from a given number of milliseconds.
millisecondsToMinutes(7200000) // 120
31. millisecondsToHours(milliseconds)
. Returns the number of hours from a given number of milliseconds.
millisecondsToHours(3600000) // 1
32. minutesToSeconds(minutes)
. Returns the number of seconds equal to the given number of minutes.
minutesToSeconds(60); // 3600
33. minutesToHours(minutes)
. Returns the number of hours from a given number of minutes.
minutesToHours(30); // 0.5
34. minutesToMilliseconds(minutes)
. Returns the number of milliseconds from a given number of minutes.
minutesToMilliseconds(1); // 60000
35. monthsToQuarters(months)
. Returns the number of quarters equal to the given number of months.
monthsToQuarters(12); // 4
36. monthsToYears(months)
. Returns the number of years equal to the given number of months.
monthsToYears(12); // 1
37. quartersToYears(quarters)
. Returns the number of years equal to the given number of quarters.
quartersToYears(2); // 0.5
38. quartersToMonths(quarters)
. Returns the number of months equal to the given number of quarters.
quartersToMonths(4); // 12
39. secondsToMilliseconds(seconds)
. Returns the number of milliseconds equal to the given number of seconds.
secondsToMilliseconds(60); // 60000
40. secondsToMinutes(seconds)
. Returns the number of milliseconds equal to the given number of seconds.
secondsToMinutes(3600); // 60
41. secondsToHours(seconds)
. Returns the number of hours equal to the given number of seconds.
secondsToHours(1800); // 0.5
42. weeksToDays(weeks)
. Returns the number of days equal to the given number of weeks.
weeksToDays(52); // 364
43. yearsToDays(years)
. Returns the number of days equal to the given number of years.
yearsToDays(3); // 1095
44. yearsToMonths(years)
. Returns the number of months equal to the given number of years.
yearsToMonths(2.5); // 30
45. yearsToQuarters(years)
. Returns the number of quarters equal to the given number of years.
yearsToQuarters(0.5); // 2
46. getMonthName(local, index, short)
. Returns current month when no index is provided
getMonthName("en", 0, true); // "Jan" getMonthName("en", 1, true); // "Feb" getMonthName("fr", 0, true); // "Jan" getMonthName("fr", 1, true); // "Fév" getMonthName(); // "April"
Changelog:
v0.25.0 (2022-04-26)
- Add getMonthName
v0.24.0 (2022-04-11)
- Added more functions