Share via


DateSerial (Función, Visual Basic)

Actualización: noviembre 2007

Devuelve un valor Date que representa un año, mes y día específicos, con la información de la hora establecida en medianoche (00:00:00).

Public Function DateSerial( _
   ByVal [Year] As Integer, _
   ByVal [Month] As Integer, _
   ByVal [Day] As Integer _
) As DateTime

Parámetros

  • Year
    Obligatorio. Expresión Integer entre 1 y 9999. Sin embargo, los valores por debajo de este intervalo también se aceptan. Si Year está entre 0 y 99, se interpreta como si estuviera entre 1930 y 2029, tal y como se explica en la sección "Comentarios" que aparece a continuación. Si Year es menor que 1, se sustrae del año actual.

  • Month
    Obligatorio. Expresión Integer entre 1 y 12. Sin embargo, los valores fuera de este intervalo también se aceptan. El valor de Month tiene un desplazamiento de 1 y se aplica al mes de enero del año calculado. En otras palabras, (Month - 1) se agrega al mes de enero. Si es necesario, se vuelve a calcular el año. Los resultados siguientes ilustran este efecto:

    • Si Month es 1, el resultado es el mes de enero del año calculado.

    • Si Month es 0, el resultado es el mes de diciembre del año anterior.

    • Si Month es -1, el resultado es el mes de noviembre del año anterior.

    • Si Month es 13, el resultado es el mes de enero del año siguiente.

  • Day
    Obligatorio. Expresión Integer entre 1 y 31. Sin embargo, los valores fuera de este intervalo también se aceptan. El valor de Day tiene un desplazamiento de 1 y se aplica al primer día del mes calculado. En otras palabras, (Day - 1) se agrega al primer día del mes. Si es necesario, se vuelven a calcular el mes y el año. Los resultados siguientes ilustran este efecto:

    • Si Day es 1, el resultado es el primer día del mes calculado.

    • Si Day es 0, el resultado es el último día del mes anterior.

    • Si Day es -1, el resultado es el penúltimo día del mes anterior.

    • Si Day pasa del final del mes actual, el resultado es el día adecuado del mes siguiente. Por ejemplo, si Month es 4 y Day es 31, el resultado es el día 1 de mayo.

Comentarios

En Windows 98 o Windows 2000, los años de dos dígitos para el argumento Year se interpretan de acuerdo con la configuración del equipo definida por el usuario. La configuración predeterminada es que los valores entre 0 y 29 se interpretan como los años 2000–2029, y los valores entre 30 y 99 como los años 1930–1999. Para los demás argumentos de Year se utiliza un año de cuatro dígitos, por ejemplo, 1924.

Las versiones anteriores de Windows interpretan los años de dos dígitos de acuerdo con los valores predeterminados descritos anteriormente. Para estar seguro de que la función devuelve el valor adecuado, utilice un valor Year de cuatro dígitos.

El siguiente ejemplo muestra valores de argumento negativo, cero y positivo. Aquí, la función DateSerial devuelve un valor Date que representa el día antes del primer día de marzo del año que es 10 años anterior al año actual; en otras palabras, el último día de febrero de hace diez años.

Dim EndFeb As Date = DateSerial(-10, 3, 0)

Si Month o Day excede de su intervalo normal, se aplica a la siguiente unidad mayor, como sea adecuado. Por ejemplo, si especifica 32 días, se evalúa como un mes y entre uno y cuatro días, dependiendo del valor de Month. Si Year es mayor que 9999, o si cualquier argumento está fuera del intervalo entre -2.147.483.648 y 2.147.483.647, se produce un error ArgumentException. Si la fecha especificada por los tres argumentos es anterior a las 00:00:00 del día 1 de enero del año 1, o posterior a las 23:59:59 del 31 de diciembre del año 9999, se produce un error ArgumentOutOfRangeException.

El tipo de datos Date incluye componentes de fecha y hora. DateSerial los establece todos en 0, de tal forma que el valor devuelto representa el principio del día calculado.

Puesto que todos los valores Date se basan en una estructura DateTime, sus métodos proporcionan opciones adicionales para ensamblar un valor Date. Por ejemplo, se puede utilizar uno de los constructores DateTime sobrecargados para rellenar una variable Date que utilice la combinación de componentes deseada. El ejemplo siguiente establece NewDateTime en 6 de mayo de 1978, a una décima de segundo antes de las 8:30 de la mañana:

Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)

Ejemplo

En este ejemplo se utiliza la función DateSerial para devolver una fecha para el año, mes y día especificados.

Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)   ' Return a date.

Requisitos

Espacio de nombres:Microsoft.VisualBasic

**Módulo:**DateAndTime

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Referencia

DateValue (Función, Visual Basic)

Day (Función, Visual Basic)

Month (Función, Visual Basic)

Now (Propiedad)

TimeSerial (Función, Visual Basic)

TimeValue (Función, Visual Basic)

Weekday (Función, Visual Basic)

Year (Función, Visual Basic)

Date (Tipo de datos, Visual Basic)

System