Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6775 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6758 stevensc 1
const getYears = () => {
2
  const date = new Date()
3
  const currentYear = date.getFullYear()
4
  let years = []
5
  for (let index = currentYear; index > currentYear - 100; index--) {
6
    years = [...years, index]
7
  }
8
  return years
9
}
10
 
6775 stevensc 11
const getMonths = () => {
6767 stevensc 12
  const months = Array.from({ length: 12 }, (item, i) => {
13
    return new Date(0, i).toLocaleString('es-ES', { month: 'long' })
14
  })
15
 
16
  return months
17
}
6775 stevensc 18
 
19
const getMonthName = (monthNumber) => {
6767 stevensc 20
  const date = new Date()
21
  date.setMonth(monthNumber - 1)
22
 
6775 stevensc 23
  const month = date.toLocaleString('es-ES', { month: 'long' })
24
 
25
  return month
6767 stevensc 26
}
27
 
6911 stevensc 28
const DATE_UNITS = {
29
  year: 31557600,
30
  month: 2628000,
31
  day: 86000,
32
  hour: 3600,
33
  minute: 60,
34
  second: 1,
35
}
36
 
37
const rft = new Intl.RelativeTimeFormat('en', { numeric: 'auto' })
38
 
39
const getRelativeTime = (time) => {
40
  const started = new Date(time + 1000).getTime()
41
  const now = new Date().getTime()
42
 
43
  const elapsed = (started - now) / 1000
44
 
45
  for (const unit in DATE_UNITS) {
46
    const absoluteElapsed = Math.abs(elapsed)
47
 
48
    if (absoluteElapsed > DATE_UNITS[unit] || unit === 'second') {
49
      return rft.format(Math.floor(elapsed / DATE_UNITS[unit]), unit)
50
    }
51
  }
52
 
53
  return ''
54
}
55
 
56
export { getYears, getMonthName, getMonths, getRelativeTime }