Get Date Information With The Easy Dates Library

Category: Date & Time , Javascript | April 26, 2022
Author:sandypockets
Views Total:68 views
Official Page:Go to website
Last Update:April 26, 2022
License:MIT

Preview:

Get Date Information With The Easy Dates Library

Description:

Easy Dates is a JavaScript library that allows you to get, compare and convert dates in an easy way.

Table Of Contents

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

You Might Be Interested In:


Leave a Reply