====== 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/]]