así que tengo una marca de tiempo para el comienzo del año (viernes 1 de enero de 2021 00:00:00) y el final del año (viernes 31 de diciembre de 2021 23:59:59)
{ Comienzo del año: 1609455600000, Fin del año: 1640991599000 }
porque necesito obtener datos para cada mes de este año, necesito las marcas de tiempo de inicio y finalización de un mes. hay algun metodo para esto? ty por adelantado
Sugiero usar un módulo de fecha y hora. por ejemplo dayjs
Hay ayudantes como startOf('month') o add() .
Aquí hay un pseudocódigo del módulo con respecto a su problema. Le sugiero que lo aprenda ya que la fecha y la hora son útiles ahora en muchos proyectos.
const dayjs = require('dayjs') // Initialise dayjs object with your provided start of year timestamp. const startOfYear = dayjs(1609455600000) // set to start end endof month const january_start = startOfYear.startOf('month') const january_end = startOfYear.endOf('month') // add one month and set to start resp. end of const february_start = startOfYear.add(1, 'month').startOf('month') const february_end = startOfYear.add(1, 'month').endOf('month') // ... loop and go further.. // Helper function for getting back javascript dates. const numeric_date = startOfYear.toDate().getTime() // there is also a format() function which allows printing // nice looking dates. startOfYear.format('MMM DD YYYY') // => prints 01 Jan 2021Para obtener más información, lea los documentos
Utilice el siguiente código para crear un procedimiento almacenado o una función con valores de tabla. Formatee la salida como desee.
declare @year varchar(4) set @year = '2022' ; with cte as (select 0 'n' union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9 union select 10 union select 11) select dateadd(month, n, '1/1/'+@Year) 'yearStart' , dateadd(second, -1, dateadd(month, n +1, '1/1/'+@Year)) 'yearEnd' from cte