Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Senior++ en 13 Julio 2011, 16:35 pm



Título: [Aprender] Usar DateAdd,CDate y DateDiff
Publicado por: Senior++ en 13 Julio 2011, 16:35 pm
Bueno explico esto para la gente que lo quiera aprender. ;-)

bueno primero antes que nada que es DateAdd?

DateAdd --> DateAdd(intervalo, número, fecha)

El argumento intervalo puede tener los siguientes valores:

Código:
Valor 	Descripción
yyyy          Año
q          Trimestre
m           Mes
y        Día del año
d        Día
w        Día de la semana
ww        Semana del año
h        Hora
n        Minuto
s        Segundo


Código:
El argumento numero es asi:
Constante Valor Descripción
vbUseSystem 0 Usa valores de API de idioma nacional (NLS).
vbSunday 1 domingo (valor predeterminado)
vbMonday 2 lunes
vbTuesday 3 martes
vbWednesday 4 miércoles
vbThursday 5 jueves
vbFriday 6 viernes
vbSaturday 7 sábado

y esto es una pequeña información para que lo entendais mejor:

Observaciones

Puede utilizar la función DateAdd para sumar un intervalo de tiempo especificado a una fecha o restárselo. Por ejemplo, puede utilizar DateAdd para calcular una fecha de 30 días a partir de hoy o una hora de 45 minutos desde ahora. Para agregar días a fecha, puede utilizar el Día del Año ("y"), Día ("d") o Día de la semana ("w").

La función DateAdd no devolverá una fecha que no sea válida. El siguiente ejemplo suma un mes al 31 de enero:

NewDate = DateAdd("m", 1, "31-ene-95")
En este caso, DateAdd devuelve 28-feb-95, no 31-feb-95. Si fecha es 31-ene-96, devuelve 29-feb-96 porque 1996 es un año bisiesto.

Si la fecha calculada fuera anterior al año 100, se produciría un error.

Si el número no es un valor Long, se redondea al número entero más cercano antes de evaluarse.

Bueno el CData --> bueno para que lo entiendas es por ejemplo

Código:
MiFecha  = "19 de Octubre de 1962"   ' Define una fecha.
MiFechaCorta = CDate(MiFecha )        ' Convierte en tipo de datos Date.
MiHora = "4:35:47 PM"              ' Define una hora.
MiHoraCorta = CDate(MiHora)        ' Convierte en tipo de datos Date.

DateDiff --> Esto seria así
Código:
DateDiff(intervalo, fecha1, fecha2[,primerdíadelasemana[,primerasemanadelaño]])

 y bueno los argumentos de arriba te sirven...


Bueno espero a ver aclarado mucho y ahora para terminar este tutorial pues voy a poner un ejercicio para tener mas base...

Colocar un control TextBox llamado Text1
un control Command llamado Command1.
En el Text1 escribir una fecha:
 

Código:
Option Explicit  
Private Sub Form_Load() 
    Text1 = " Escriba una fecha para calcular el númerode días de un mes " 
End Sub 
 
 
Private Sub Command1_Click() 
 
Dim Fecha_1 As Date 
Dim Fecha_2 As Date 
 
    Fecha_1 = CDate(Text1) 
    Fecha_2 = DateAdd("m", 1, Fecha_1) 
     
    ' Muestra los días 
    MsgBox " Este mes tiene : " & Format$(DateDiff("d", Fecha_1, Fecha_2)) 
 
End Sub 

Saludos