Date()
Devuelve la fecha del servidor con formato mes, dia y año:
<% Response.Write( Date() ) %>
Y este sería el resultado:
22/12/03
Time()
Devuelve la hora del servidor con formato hora, minutos y segundos:
<% Response.Write( Time() ) %>
Y este sería el resultado:
10:24:23
Now()
Devuelve la fecha y hora del servidor juntas:
<% Response.Write( Now() ) %>
Y este sería el resultado:
22/12/03 10:24:23
Day(una_fecha) - Month(una_fecha) - Year(una_fecha)
Estas tres funciones devuelven el dia, mes y año, repectivamente, de una_fecha dada, por ejemplo, por la función Date() o escrita directamente en la forma "22/12/03" o "22-12-03":
<% Response.Write( Date() ) Response.Write(Day(Date()) & "<BR>") Response.Write(Month(Date()) & "<BR>") Response.Write(Year(Date()) & "<BR>") %>
Y este sería el resultado:
22/12/03
22
12
2003
Y lo mismo tenemos para las horas. En el caso de escribir directamente la hora, se deberá hacer en la forma: "10:05:18"
Hour(una_hora) - Minute(una_hora) - Second(una_hora)
<% Response.Write( Time() ) Response.Write(Hour(Time()) & "<BR>") Response.Write(Minute(Time()) & "<BR>") Response.Write(Second(Time()) & "<BR>") %>
Y este sería el resultado:
11:05:18
11
5
18
Weekday(una_fecha, [primero])
Devuelve un número que representa el día de la semana de una_fecha. El parámetro opcional [primero] es un número que indica cuál es el primer día de la semana, siendo 1 (domingo) su valor por defecto. Los valores devueltos y el nombre de las constantes son:
vbSunday | 1 | Domingo |
---|---|---|
vbMonday | 2 | Lunes |
vbTuesday | 3 | Martes |
vbWednesday | 4 | Miércoles |
vbFriday | 5 | Jueves |
vbMonday | 6 | Viernes |
vbSaturday | 7 | Sábado |
Estos mismos valores coinciden con los utilizados para [primero]. Por ejemplo, si el 22/12/2003 era lunes:
<% Response.Write( Date() & "<BR>" ) Response.Write(Weekday(Date())) %>
Y este sería el resultado:
22/12/03
2
DateAdd(intervalo, cuantos, mi_fecha)
Devuelve una fecha cuyo valor es el resultado de adicionarle a mi_fecha un intervalo de tiempo el número de veces indicado por cuantos. Los valores codificados de intervalo son los siguientes:
Intervalo | 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 |
h | Hora |
n | Minuto |
s | Segundo |
Sea, por ejemplo, la fecha 30/12/03 a la que se desea sumar un mes:
<% Response.Write(DateAdd("m", 1, "30-12-03")) %>
Y este sería el resultado:
30/01/04
La función DateAdd() no devuelve fechas erróneas, y "redondea" los valores que se le den. Por ejemplo, si a la fecha anterior en lugar de un mes se le suman dos, no nos devuelve 30/02/04, que sería incorrecto, sino que:
<% Response.Write(DateAdd("m", 2, "30-12-03")) %>
Y este sería el resultado:
29/02/04
Como puedes ver, no ha sumado de forma absoluta dos meses (es decir, al menos 60 dias), pero ha dado un resultado correcto desde el punto de vista del calendario, incluso siendo el 2004 bisiesto. Si en lugar de sumar, queremos restar, solamente hay que dar los valores de cuantos en negativo:
<% Response.Write(DateAdd("m", -2, "30-12-03")) %>
Y este sería el resultado:
30/10/03
Otra característica, que puede ser muy util al escribir aplicaciones, de la función DateAdd() consiste en no ser necesario escribir el año en el parámetro mi_fecha, siempre que ésta sea escrita como una cadena en la forma "30/12/03" o "30-12-03". Si en lugar de la fecha entera, escribimos:
<% Response.Write(DateAdd("m", 1, "30-12")) %>
Se obtiene:
30/01/04
Con esto se puede conseguir no tener que revisar los programas cada año, siempre que los procedimientos sean en los mismos dias y meses, claro. También pueden sumarse intervalos de tiempo más pequeños. Por ejemplo, dos segundos:
<% Response.Write(DateAdd("s", 2, "31/12/03 23:59:59")) %>
Se obtiene:
1/01/04 0:00:01
DateDiff(intervalo, fecha1, fecha2)
Devuelve el número de intervalos de tiempo que hay entre fecha1 y fecha2. Los valores codificados de intervalo son los siguientes:
Intervalo | 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 |
h | Hora |
n | Minuto |
s | Segundo |
Sea, por ejemplo, la diferencia en meses entre 1/1/03 y 1/1/04:
<% Response.Write(DateDiff("m", "1-1-03", "1-1-04")) %>
Y este sería el resultado:
12
Si fecha2 es menor que fecha1 se obtiene un resultado con signo negativo:
<% Response.Write(DateDiff("m", "1-1-03", "1-1-02")) %>
Se obtiene:
-12
Las valores obtenidos no indican que necesariamente hayan transcurridos estos intervalos de tiempo. Asi, si por ejemplo, se compara el 31 de diciembre con el 1 de enero del año inmediatamente posterior, DateDiff() devuelve 1 aunque solamente haya transcurrido un día.
DatePart(intervalo, fecha)
Extrae de fecha la parte indicada por intervalo. Los valores codificados de intervalo son los mismos que utilizan DateAdd() o DateDiff(). Sea por ejemplo:
<% Response.Write(DatePart("m", "31/12/03 23:59:59")) %>
Se obtiene:
12
IsDate(expresión)
Evalúa si expresión puede ser convertida a fecha, o lo que es lo mismo, si tiene un formato válido para representar una fecha. Por ejemplo:
<% Response.Write(IsDate("31/12/03 23:59:59")) %>
Se obtiene:
Verdadero
CDate(expresión)
Convierte expresión a tipo fecha. Es conveniente examinar primero la expresión para asegurarse de que la conversión es posible. Por ejemplo:
<% Response.Write(CDate("31/12/03 23:59:59")) %>
Se obtiene:
31/12/03 23:59:59