Te permite generar el calendario de un mes o los calendarios de todo un año. Así como facilitarte la obtención de algunas propiedades útiles para realizar operaciones con fechas.
npm i sommet-calendars
yarn add sommet-calendars
var smtc = require('sommet-calemdars')
var year = new smtc.Year(2023) // Inicializa un año (Year)
var currentYear = year.getYear() // Devuelve el año del objeto
var months = year.getMonths() // Devuelve un arreglo de objetos Month
var january = year.getMonth(0) // Devuelve un objeto Month de Enero
var januaryCalendar = january.getCalendar(0) // Devuelve un arreglo de objetos Day
year.setYear(2050) // Cambia al año 2050 y devuelve el mismo objeto Year
year.nextYear() // Cambia al año siguiente (2051) y devuelve el mismo objeto Year
year.prevYear() // Cambia al año anterior (2050) y devuelve el mismo año
Si estas usando ES6:
import { Year } from 'sommet-calendars'
const year = new Year(2023) // Inicializa un año (Year)
const currentYear = year.getYear() // Devuelve el año del objeto
const months = year.getMonths() // Devuelve un arreglo de objetos Month
const january = year.getMonth(0) // Devuelve un objeto Month de Enero
const januaryCalendar = january.getCalendar(0) // Devuelve un arreglo de objetos Day
year.setYear(2050) // Cambia al año 2050 y devuelve el mismo objeto Year
year.nextYear() // Cambia al año siguiente (2051) y devuelve el mismo objeto Year
year.prevYear() // Cambia al año anterior (2050) y devuelve el mismo año
const yearMonths = year.getMonths()
yearMonths.map((month) => console.log(month))
yearMonths.map((month) => {
const days = month.getCalendar()
days.map((day) => console.log(day.toDate()))
})
var smtc = require('sommet-calendars')
var month = new smtc.Month(2023, 0) // Obtiene el mes de Enero del 2023
var monthName = month.getName() // Devuelve el nombre completo del mes (Enero)
var monthNum = month.getMonth() // Devuelve el mes en formato de numero (0)
var monthNameNormal = month.getName({ size: 'normal' }) // Devuelve el nombre completo del mes (Enero)
var shortMonthName = month.getName({ size: 'short' }) // Devuelve el nombre corto del mes (Ene)
var monthDays = month.getMonthDays() // Devuelve el número de días que tiene el mes
var monthYear = month.getYear() // Devulve el año al que pertenece este mes (2023)
var monthCalendar = month.getCalendar() // Obtiene el calendario de Enero del 2023
month.nextMonth() // Actualiza el mes al siguiente (Febrero 2023)
month.prevMonth() // Actualiza el mes al anterior (Enero 2023)
var nextMonth = month.getNextMonth() // Obtiene el siguiente mes devolviendo un nuevo objeto Month (Febrero 2023)
var prevMonth = month.getPrevMonth() // Obtiene el mes anterior devolviendo un nuevo objeto Month (Diciembre 2022)
o si estas usando ES6:
import { Month } from 'sommet-calendars'
const month = new Month(2023, 0) // Obtiene el mes de Enero del 2023
const monthName = month.getName() // Devuelve el nombre completo del mes (Enero)
const monthNum = month.getMonth() // Devuelve el mes en formato de numero (0)
const monthNameNormal = month.getName({ size: 'normal' }) // Devuelve el nombre completo del mes (Enero)
const shortMonthName = month.getName({ size: 'short' }) // Devuelve el nombre corto del mes (Ene)
const monthDays = month.getMonthDays() // Devuelve el número de días que tiene el mes
const monthYear = month.getYear() // Devulve el año al que pertenece este mes (2023)
const monthCalendar = month.getCalendar() // Obtiene el calendario de Enero del 2023
month.nextMonth() // Actualiza el mes al siguiente (Febrero 2023)
month.prevMonth() // Actualiza el mes al anterior (Enero 2023)
const nextMonth = month.getNextMonth() // Devuelve un nuevo objeto Month del siguiente mes (Febrero 2023) sin actualizar el objeto principal.
const prevMonth = month.getPrevMonth() // Devuelve un nuevo objeto Month del mes anterior (Diciembre 2022) sin actualizar el objeto principal.
const days = month.getCalendar()
days.map((day) => console.log(day.toDate()))
var smtc = require('sommet-calendars')
var date = new Date()
var day = new smtc.Day(date) // Inicializa un objeto Day
var dayNumber = day.getDay() // Devuelve el número del día
var dayMonth = day.getMonth() // Devuelve el número del mes
var dayYear = day.getYear() // Devuelve el número del año
var weekday = day.getWeekday() // Devuelve el número del día de la semana al que pertenece
var weekdayName = day.getWeekdayName() // Devuelve el nombre del día de la semana al que pertenece el día
var weekdayLgName = day.getWeekdayName({ size: 'lg' }) // Devuelve el nombre completo (Jueves) del día de la semana al que pertenece el día
var weekdayMdName = day.getWeekdayName({ size: 'md' }) // Devuelve el nombre de tamaño mediano (Jue) del día de la semana al que pertenece el día
var weekdaySmName = day.getWeekdayName({ size: 'sm' }) // Devuelve el nombre de tamaño chico (J) del día de la semana al que pertenece el día
day.isToday() // Comprueba si el día es hoy o no
day.toDate() // Devuelve el día en un objeto Date
Si están utlizando ES6:
import { Day } from 'sommet-calendars'
const date = new Date()
const day = new Day(date) // Inicializa un objeto Day
const dayNumber = day.getDay() // Devuelve el número del día
const dayMonth = day.getMonth() // Devuelve el número del mes
const dayYear = day.getYear() // Devuelve el número del año
const weekday = day.getWeekday() // Devuelve el número del día de la semana al que pertenece
const weekdayName = day.getWeekdayName() // Devuelve el nombre del día de la semana al que pertenece el día
const weekdayLgName = day.getWeekdayName({ size: 'lg' }) // Devuelve el nombre completo (Jueves) del día de la semana al que pertenece el día
const weekdayMdName = day.getWeekdayName({ size: 'md' }) // Devuelve el nombre de tamaño mediano (Jue) del día de la semana al que pertenece el día
const weekdaySmName = day.getWeekdayName({ size: 'sm' }) // Devuelve el nombre de tamaño chico (J) del día de la semana al que pertenece el día
day.isToday() // Comprueba si el día es hoy o no
day.toDate() // Devuelve el día en un objeto Date
const date = new Day(new Date())
console.log(date.isToday()) // Output: true
const tomorrow = new Day(new Date(2023, 10, 3))
console.log(tomorrow.isToday()) // Output: false
Opción | Tamaño | Ejemplo |
---|---|---|
lg |
grande / normal | Enero |
md |
mediano | Ene |
Opción | Tamaño | Ejemplo |
---|---|---|
lg |
grande / normal | Miercoles |
md |
mediano | Mié |
sm |
pequeño | X |
El día Miércoles en formato
sm
aparece comoX
para evitar confundir con el día Martes que aparece comoM
.
Mes | lg |
md |
---|---|---|
0 | Enero | Ene |
1 | Febrero | Feb |
2 | Marzo | Mar |
3 | Abril | Abr |
4 | Mayo | May |
5 | Junio | Jun |
6 | Julio | Jul |
7 | Agosto | Ago |
8 | Septiembre | Sep |
9 | Octubre | Oct |
10 | Noviembre | Nov |
11 | Diciembre | Dic |
Weekday | lg |
md |
md |
---|---|---|---|
0 | Domingo | Dom | D |
1 | Lunes | Lun | L |
2 | Martes | Mar | M |
3 | Miércoles | Mie | X |
4 | Jueves | Jue | J |
5 | Viernes | Vie | V |
6 | Sábado | Sáb | S |
Aunque el domingo es el primer día de la semana los días de los meses empiezan desde el lunes. Más abajo está un ejemplo de como se vería un calendario construido con este módulo.
Así es como se generan los días que están en el siguiente calendario. Incluyendo los días del mes anterior y el siguiente para que se genere el cuadro completo:
L | M | X | J | V | S | D |
---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 1 | 2 | 3 |
Así es como se ve el arreglo de los días (Date[]
) generados:
y así es como se ve un arreglo de los numeros de los días (number[]
):