Skip to content

Simple function that recieves a date and gives back the relative time using Intl.RelativeTimeFormat('en', { numeric: 'auto' })

License

Notifications You must be signed in to change notification settings

feelinglovelynow/get-relative-time

Repository files navigation

🕉 @feelinglovelynow/get-relative-time

💎 Install

pnpm add @feelinglovelynow/get-relative-time

🤓 Unit Tests

Statements

🙏 Description

  • Simple function that recieves a Date object that is in the future or is in the past and gives back the relative time using Intl.RelativeTimeFormat('en', { numeric: 'auto' })
  • Examples: [ "last year", "6 months ago", "4 weeks ago", "7 days ago", "now", "in 1 minute", "in 6 hours", "tomorrow", "in 3 days", "in 4 weeks", "next month", "in 2 months", "in 12 months", "next year" ]

💚 Examples

import { getRelativeTime } from '@feelinglovelynow/get-relative-time'

const d1 = new Date()
d1.setDate(d1.getDate() - 450)
getRelativeTime(d1) // last year

const d2 = new Date()
d2.setDate(d2.getDate() - 180)
getRelativeTime(d2) // 6 months ago

const d3 = new Date()
d3.setDate(d3.getDate() - 30)
getRelativeTime(d3) // 4 weeks ago

const d4 = new Date()
d4.setDate(d4.getDate() - 7)
getRelativeTime(d4) // 7 days ago

getRelativeTime(new Date()) // now
getRelativeTime(new Date((new Date()).getTime() + 60000)) // in 1 minute
getRelativeTime(new Date((new Date()).getTime() + 360 * 60000)) // in 6 hours
getRelativeTime(new Date((new Date()).getTime() + (1440 * 60000))) // tomorrow
getRelativeTime(new Date((new Date()).getTime() + (3 * 1440 * 60000))) // in 3 days
getRelativeTime(new Date((new Date()).getTime() + (28 * 1440 * 60000))) // in 4 weeks
getRelativeTime(new Date((new Date()).getTime() + (35 * 1440 * 60000))) // next month
getRelativeTime(new Date((new Date()).getTime() + (60 * 1440 * 60000))) // in 2 months
getRelativeTime(new Date((new Date()).getTime() + (365 * 1440 * 60000))) // in 12 months
getRelativeTime(new Date((new Date()).getTime() + (400 * 1440 * 60000))) // next year

🔥 Errors we may throw

  • getRelativeTime()
if (!(date instanceof Date) || date.toString() === 'Invalid Date') throw { id: 'fln__get-relative-time__invalid-date', message: 'Please pass getRelativeTime() a valid date object', _errorData: { date } }

🎁 All Our Packages

  1. @feelinglovelynow/datetime-local: NPMGithub
  2. @feelinglovelynow/dgraph: NPMGithub
  3. @feelinglovelynow/env-write: NPMGithub
  4. @feelinglovelynow/get-form-entries: NPMGithub
  5. @feelinglovelynow/get-relative-time: NPMGithub
  6. @feelinglovelynow/global-style: NPMGithub
  7. @feelinglovelynow/jwt: NPMGithub
  8. @feelinglovelynow/loop-backwards: NPMGithub
  9. @feelinglovelynow/slug: NPMGithub
  10. @feelinglovelynow/svelte-catch: NPMGithub
  11. @feelinglovelynow/svelte-kv: NPMGithub
  12. @feelinglovelynow/svelte-loading-anchor: NPMGithub
  13. @feelinglovelynow/svelte-modal: NPMGithub
  14. @feelinglovelynow/svelte-turnstile: NPMGithub
  15. @feelinglovelynow/toast: NPMGithub

About

Simple function that recieves a date and gives back the relative time using Intl.RelativeTimeFormat('en', { numeric: 'auto' })

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published