Principales respuestas
Como generar fecha en secuencia por intervalo de semana

Pregunta
-
Saludos necesito como generar fecha en intervalo de semanas , a ver si me pueden solucionar !
Osea la idea es esta: GENERAR FECHA ENTRE 15/4/2017 HASTA EL 15/5/2017 POR INTERVALO DE SEMANAS
NO. CUOTAS
FECHA
CUOTA RD$
ESTATUS
MORA X MES
1
15/4/2017
1,700
PENDIENTE
1,785
2
22/4/2017
1,700
PENDIENTE
1,785
3
29/4/2017
1,700
PENDIENTE
1,785
4
6/5/2017
1,700
PENDIENTE
1,785
5
13/5/2017
1,700
PENDIENTE
1,785
AHORA BIEN: yo tengo este codigo
Dim fecha1 As Date = dt_inicial.Value
Dim fecha2 As Date = dt_final.Value
Dim x As Integer
'Dim meses As Integer
'meses = DateDiff(DateInterval.Month, fecha1, fecha2)
Dim meses As Integer = ((fecha2.Year - fecha1.Year) * 12) + fecha2.Month - fecha1.Month
For i = 0 To meses
'Agrega 1 mes por cada iteración
Dim nuevaFecha As Date = fecha1.AddMonths(i)
Dim newRow() As String = New String() {x + 1, nuevaFecha.ToShortDateString(), txtcuota.Text, txtestatus.Text, txtmoraxmes.Text}
x = x + 1
DataGridView1.Rows.Add(newRow)
'DataGridView1.Rows.Add(nuevaFecha.ToShortDateString())
NextPero me genera una secuencia en meses y no quiero eso ! me sale
NO. CUOTAS
FECHA
CUOTA RD$
ESTATUS
MORA X MES
1
15/4/2017
1,700
PENDIENTE
1,785
2
15/5/2017
1,700
PENDIENTE
1,785
3
15/6/2017
1,700
PENDIENTE
1,785
4
15/7/2017
1,700
PENDIENTE
1,785
5
15/8/2017
1,700
PENDIENTE
1,785
Y YO NO QUIERO ESO ! ME PUEDEN AYUDAR?
Respuestas
-
Entonces como seria que generara la siguiente fecha por mes si es del 15/4/2017 al 13/6/2017 que empiece por el 15/5/2017 ... asi sucesivamente ?
Si determinas un rango de fechas prefiero utilizar un bucle que base el número de iteraciones en una condición externa al índice de recorrido, por ejemplo:
FechaInicio = FechaInicio.AddMonths(1) Dim Cuota = 1 Do 'Escribir instrucciones FechaInicio = FechaInicio.AddMonths(1) Cuota += 1 Loop While (FechaInicio <= FechaFin)
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Dixiel Samora viernes, 7 de abril de 2017 13:57
Todas las respuestas
-
Enfatiza una oración marcando las palabras en negrita o subrayándolas, no escribas en mayúsculas.
No veo la complejidad del caso, si lo que buscas es obtener una secuencia o serie en intervalos de 7 días escribe una instrucción repetitiva (bucle) agregando -por cada iteración- 7 días, el bucle finalizará a penas la fecha -con los días agregados- sea mayor al limite superior establecido, por ejemplo:
Dim FechaInicio As DateTime = New DateTime(2017, 4, 15) Dim FechaFin As DateTime = New DateTime(2017, 5, 15) Dim Cuota = 1 While (FechaInicio <= FechaFin) MessageBox.Show(String.Format("Nro {0} Fecha {1}", Cuota, FechaInicio.ToShortDateString())) FechaInicio = FechaInicio.AddDays(7) Cuota += 1 End While
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta J. Carlos Herrero miércoles, 5 de abril de 2017 19:55
- Votado como útil Joyce_ACModerator viernes, 7 de abril de 2017 22:36
-
Willams Morales entonces como seria que generara la siguiente fecha por mes si es del 15/4/2017 al 13/6/2017 que empiece por el 15/5/2017 ... asi sucesivamente ?
puede ser asi
For i = 0 To meses
'Agrega 1 mes por cada iteración
Dim nuevaFecha As Date = fecha1.AddMonths(i) + 1
Dim newRow() As String = New String() {x + 1, nuevaFecha.ToShortDateString(), txtcuota.Text, txtestatus.Text, txtmoraxmes.Text}
x = x + 1
DataGridView1.Rows.Add(newRow)agregando el mas 1
- Editado Dixiel Samora jueves, 6 de abril de 2017 16:52 cambiar codigo
-
Entonces como seria que generara la siguiente fecha por mes si es del 15/4/2017 al 13/6/2017 que empiece por el 15/5/2017 ... asi sucesivamente ?
Si determinas un rango de fechas prefiero utilizar un bucle que base el número de iteraciones en una condición externa al índice de recorrido, por ejemplo:
FechaInicio = FechaInicio.AddMonths(1) Dim Cuota = 1 Do 'Escribir instrucciones FechaInicio = FechaInicio.AddMonths(1) Cuota += 1 Loop While (FechaInicio <= FechaFin)
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Marcado como respuesta Dixiel Samora viernes, 7 de abril de 2017 13:57