====== Programación Manejo Fechas ====== * Comparar con más lenguajes ===== Semanas ===== ==== Javascript ===== var Dia = new Date(2021,04,19); console.log( Dia.getDay ); ^ javascript ^ Domingo ^ Lunes ^ Martes ^ Miércoles ^ Jueves ^ Viernes ^ Sábado ^ ^ Date.getDay() | 0 | 1 | 2 | 3 | 4 | 5 | 6 | * [[https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay]] Funciones para que devuelva el numero de semana function getNumberOfWeek() { const today = new Date(); const firstDayOfYear = new Date(today.getFullYear(), 0, 1); const pastDaysOfYear = (today - firstDayOfYear) / 86400000; return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7); } ==== SQL ===== SELECT DATENAME(dw, GETDATE() ) -- Lunes SELECT DATEPART(dw, GETDATE() ) -- 1 SELECT DATENAME( dw, '2021-04-01' ) -- Jueves SELECT DATEPART( dw, '2021-04-01' ) -- 4 Comparando el retorno entero de Javascript con SQL SERVER ^ T-SQL ^ Domingo ^ Lunes ^ Martes ^ Miércoles ^ Jueves ^ Viernes ^ Sábado ^ ^ DATEPART(dw, GETDATE() ) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ^ javascript | 0 | 1 | 2 | 3 | 4 | 5 | 6 | * [[https://docs.microsoft.com/en-us/sql/t-sql/functions/dateadd-transact-sql?view=sql-server-ver15]] ===== Mes ====== ==== Javascript ====== Esta función devuelve la cantidad de días de un mes o el último día de un mes. function daysInMonth(iMonth, iYear) { return new Date(iYear, iMonth, 0).getDate(); } new Date(2021,4,0).getDate() //30 * [[https://stackoverflow.com/questions/222309/calculate-last-day-of-month]] ==== SQL ==== Devuelve la cantidad de días o último mes SELECT DAY( EOMONTH( GETDATE() ) ); -- 30 SELECT DAY( EOMONTH('2021-04-19') ) -- 30 * [[https://desarrolladores.me/2013/08/como-obtener-el-primer-y-ultimo-dia-del-mes-en-sql-server/]]