Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13
Funciones del lenguaje (V)
por Luciano Moreno, del departamento de Diseño Web de BJS Software.
Funciones del lenguaje (D).-
* Date( )
Función de fechas. No recibe ningún argumento, devolviendo la fecha actual del sistema.
Una observación: si corremos el código VBScript en el servidor obtendremos la fecha de éste, por lo que todos los usuarios recibirán la misma fecha, pero si lo ejecutamos en el navegador cliente, la función nos devolverá la hora del sistema del usuario, por lo que cada uno recibirá la hora de su sistema.
Ejemplo:
<%
Dim miFecha
miFecha = Date( )
%>
que nos devuelve como valor de miFecha la fecha del sistema.
Como la función no precisa parámetros, podemos hacer la asignación como miFecha = Date
* DateAdd( intervalo / cantidad / fecha )
Función de fechas. Devuelve una fecha a la que se le ha agregado un intervalo de tiempo especificado, y precisa necesariamente los siguientes argumentos.
1) intervalo: expresión de cadena que indica la unidad de tiempo que queremos añadir a la fecha (años, meses, días, horas, etc). Los posibles valores están indicados a continuación.
| expresión | significado |
| 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 |
| m | minuto |
| s | segundo |
2) cantidad: es el número de las unidades fijadas con el argumento anterior que queremos sumar a la fecha dada. Es decir, si fijamos como intervalo meses y como cantidad 2, sumaremos 2 meses a la fecha dada. Si la cantidad es positiva obtendremos fechas superiores a la dada, y si es negativa obtendremos fechas anteriores. Si la fecha dada es la actual y le sumamos una cantidad negativa, obtendremos una fecha del pasado.
3) fecha: es la fecha a la que queremos sumar el intervalo y cantidad determinados por los argumentos anteriores.
La función DateAdd nunca devolverá una fecha erronea, por lo que si la resultante del proceso de los argumentos no es una fecha válida, aproximará el resultado a la fecha correcta más cercana por defecto. Así, si el resultado de procesar la función nos sale el 31 de febrero del 2002, la función retornará la fecha 28-02-2002, y si el año fuese bisiesto devolvería 29-02-2002.
Como los rangos de fecha permitidos para los subtipos de datos de tipo fecha van desde el 1 de enero del año 100 al 31 de diciembre del año 9999, si la fecha a devolver por la función cae fuera de este rango se producirá un error en tiempo de ejecución.
Si la cantidad no es un valor de tipo Long, se redondea al número entero más cercano antes de evaluarse.
Ejemplo:
<%
Dim miFecha
miFecha = DateAdd( "yyyy", 5, 8-8-2000 )
%>
que nos devuelve como valor de miFecha #8-8-2005#.
* DateDiff( intervalo, fecha1, fecha2, [primer_dia_semana, primera_semana_año] )
Función de fechas. Calcula la diferencia entre las dos fechas especificadas y la devuelve expresada en los periodos indicados en el argumento intervalo. Por lo tanto devuelve un resultado numérico. Los posibles intervalos a especificar son los mismos que en el caso anterior.
Los argumentos entre corchetes son opcionales, y establecen cuál se considera primer día de la semana y cuál primera semana del año. Si no se le pasan a la función estos argumentos, por defecto toma el domingo como primer día de la semana y la semana del 1 de enero como primera semana del año.
El argumento primer_dia_semana puede tener los siguientes valores:
| constante | valor | descripción |
| vbUseSystem | 0 | usa valores de API de idioma nacional |
| 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 |
El argumento primera_semana_año puede tener los siguientes valores:
| constante | valor | descripción |
| vbUseSystem | 0 | usa valores de API de idioma nacional (NLS). |
| vbFirstJan1 | 1 | comienza con la semana del 1 de enero (valor predeterminado). |
| vbFirstFourDays | 2 | comienza con la semana con al menos cuatro días en el nuevo año. |
| vbFirstFullWeek | 3 | comienza con la primera semana completa del nuevo año. |
Dada la naturaleza de la función DateDiff, podríamos usarla por ejemplo para calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año.
Si fecha 1 hace referencia a un punto en el tiempo posterior a fecha2, la función DateDiff devuelve un número negativo.
Ejemplo:
<%
Function DiffADate(theDate
misDias = "Días a partir de hoy: " & DateDiff("d",Ahora,theDate)
End Function
%>
que nos devuelve como valor de misDias los días entre la fecha actual y la fecha dada.
* DatePart( intervalo, fecha [, primer_día_semana, primera_semana_año] )
Función de fechas. Devuelve la parte especificada de la fecha que recibe como argumento. Los argumentos necesarios para esta función son "intervalo", expresión de cadena (string) que fija el intervalo de tiempo que se desea obtener, con valores análogos a los explicados para la función DateAdd, y "fecha", expresión de fecha que se desea evaluar. Como parámetros opcionales admite "primer_dia_semana" y "primera_semana_año", con funcionalidad y valores iguales al de los usados en la función anterior.
Usos comunes de esta función son el calculo del día de la semana que fué una fecha dada u obtener la hora actual.
Ejemplo:
<%
Function DameTrimestre( fecha )
DameTrimestre = DatePart ("q", fecha)
End Function
%>
con lo que DameTrimestre contendrá el trimestre actual.
* DateSerial( año, mes, dia )
Función de fechas. Recibe como argumentos un año, un mes y un día, y devuelve una variable de subtipo Date que representa la fecha asociada a los argumentos recibidos.
Tanto año como mes y dia pueden ser cualquier nzmero o expresión válida para ellos, con las limitaciones derivadas de su tipo (año puede estar entre 100 y 9999, mes entre 1 y 12 y dia entre 1 y 31). El argumento año se debe pasar con 4 cifras, salvo si pasamos entre 0 y 99, en cuyo caso se interpretarán como años entre 1900 y 1999. Si pasamos como valor de dia un número mayor de 30, se tomarán 30 días del mes indicado y los restantes como pertenecientes al mes siguiente.
Ejemplo:
<%
Dim Mifecha
MiFecha = DateSerial( 2001, 9, 15 )
%>
que asignará a MiFecha el valor 15 de septiembre del 2001.
* DateValue( fecha )
Función de fechas. Recibe como argumento una expresión de cadena que represente una fecha, una hora o ambas, devolviendo una variable subtipo Date que la represente. Convierte pués una variable de cadena en una variable Date.
Si la cadena argumento incluye información de hora, la función no la devuelve, pero si ésta hora queda fuera de los valores aceptados para este tipo de dato se producirá un error en tiempo de ejecución.
Si en la cadena argumento no se le pasa un valor para el año, se tomara por defecto el año del sistema en que corra el script.
Ejemplo:
<%
Dim MiFecha
MiFecha = DateValue( "16 de septimebre del 2001")
%>
que asiganará a MiFecha el valor #16-09-2001#.
* Day( fecha / variable / expresión )
Función de fechas. Recibe como argumento una fecha, una variable que la contenga o una expresión que pueda representar una fecha, devolviendo un número que corresponde al día del mes de la fecha argumento. Devuelve pués un número entre 1 y 31.
Si recibe cono argumento un valor null devuelve null, y si recibe una expresión no válida como fecha tendremos un error en tiempo de ejecución.
Ejemplo:
<%
Dim miDia
miDia = Day("23 de agosto de 1998")
%>
que devuelve miDia = 23
Home - ASP - Funciones del lenguaje - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13