datetime.h

Clase wxDateSpan

Esta clase es un "intervalo de tiempo lógico" y es útil para implementar la lógica del programa para cosas como "añadir un mes a la fecha" que, en general, no significa añadirle 60*60*24*31 segundos, sino tomar la misma fecha el mes siguiente (para entender que esto es realmente diferente considerar añadir un mes al 15 de Febrero - querremos obtener Mar, 15, por supuesto).

Al añadir un mes a la fecha, todos los componentes menores (días, horas, ...) no se cambiarán a menos que la fecha resultante no sea válida: por ejemplo, 31 Ene + 1 mes será 28 Feb, no (inexistente) 31 Feb.

Debido a esta característica, sumar y restar de nuevo el mismo wxDateSpan no devolverá, en general, la fecha original: Feb 28 - 1 mes será Jan 28, ¡no Jan 31!

Los objetos wxDateSpan pueden ser positivos o negativos. Pueden ser multiplicados por escalares que multiplican todos los deltas por el escalar: es decir, 2*(1 mes y 1 día) es 2 meses y 2 días. Pueden sumarse con wxDateTime o wxTimeSpan, pero el tipo de resultado es diferente para cada caso.

Advertencia: Si se especifica tanto semanas como días, ¡el número total de días sumados será 7*semanas + días! Véase también GetTotalDays().

Los operadores de igualdad están definidos para wxDateSpans. Dos wxDateSpans son iguales si y sólo si ambos dan la misma fecha objetivo cuando se añade a cada fecha de origen. Así wxDateSpan::Months(1) no es igual a wxDateSpan::Days(30), porque no dan la misma fecha cuando se suman al 1 de Febrero. Pero wxDateSpan::Days(14) es igual a wxDateSpan::Weeks(2).Por último, hay que tener en cuenta que para añadir horas, minutos y demás no se necesita esta clase en absoluto: wxTimeSpan hará el trabajo porque no hay sutilezas asociadas con ellos (no soportamos segundos intercalares).

Funciones miembro

wxDateSpan()

wxDateSpan::wxDateSpan( int years = 0, int months = 0, int weeks = 0, int days = 0 )

Construye el objeto date span para el número dado de años, meses, semanas y días.

Hay que tener en cuenta que las semanas y los días se suman si se indican ambos.

Add()

wxDateSpan& wxDateSpan::Add(const wxDateSpan & other)

Añade el wxDateSpan dado a este wxDateSpan y devuelve una referencia a sí mismo.

Add()

wxDateSpan wxDateSpan::Add(const wxDateSpan & other) const

Devuelve la suma de dos intervalos de fechas.

Valor de retorno

Un nuevo objeto wxDateSpan con el resultado.

Day()

static wxDateSpan wxDateSpan::Day()

Devuelve un objeto de intervalo de fechas correspondiente a un día.

Days()

static wxDateSpan wxDateSpan::Days(int days)

Devuelve un objeto de intervalo de fechas correspondiente al número de días dado.

GetDays()

int wxDateSpan::GetDays() const

Devuelve el número de días (sin contar el componente semanas) en este intervalo de fechas.

GetMonths()

int wxDateSpan::GetMonths() const

Devuelve el número de meses (sin contar los años) en este intervalo de fechas.

GetTotalDays()

int wxDateSpan::GetTotalDays() const

Devuelve el número combinado de días en este intervalo de fechas, contando tanto semanas como días.

No tiene en cuenta los meses ni los años.

GetTotalMonths()

int wxDateSpan::GetTotalMonths() const

Devuelve el número combinado de meses en este intervalo de fechas, contando tanto los años como los meses.

GetWeeks()

int wxDateSpan::GetWeeks() const

Devuelve el número de semanas en este intervalo de fechas.

GetYears()

int wxDateSpan::GetYears() const

Devuelve el número de años en este intervalo de fechas.

Month()

static wxDateSpan wxDateSpan::Month()

Devuelve un objeto de intervalo de fechas correspondiente a un mes.

Months()

static wxDateSpan wxDateSpan::Months(int mon)

Devuelve un objeto de intervalo de fechas correspondiente al número de meses dado.

Multiply()

wxDateSpan& wxDateSpan::Multiply(int factor)

Multiplica este intervalo de fechas por el factor especificado.

El producto se calcula multiplicando cada uno de los componentes por el factor.

Valor de retorno

Una referencia a este objeto wxDateSpan modificado en su lugar.

Multiply()

wxDateSpan wxDateSpan::Multiply(int factor) const

Devuelve el producto del intervalo de fechas por el factor especificado.

El producto se calcula multiplicando cada uno de los componentes por el factor.

Valor de retorno

Un nuevo objeto wxDateSpan con el resultado.

Neg()

wxDateSpan& wxDateSpan::Neg()

Cambia el signo de este intervalo de fechas.

Negate()

wxDateSpan wxDateSpan::Negate() const

Devuelve un intervalo de fechas con el signo opuesto.

SetDays()

wxDateSpan& wxDateSpan::SetDays(int n)

Establece el número de días (sin modificar ningún otro componente) en este intervalo de fechas.

SetMonths()

wxDateSpan& wxDateSpan::SetMonths(int n)

Establece el número de meses (sin modificar ningún otro componente) en este intervalo de fechas.

SetWeeks()

wxDateSpan& wxDateSpan::SetWeeks(int n)

Establece el número de semanas (sin modificar ningún otro componente) en este intervalo de fechas.

SetYears()

wxDateSpan& wxDateSpan::SetYears(int n)

Establece el número de años (sin modificar ningún otro componente) en este intervalo de fechas.

Subtract()

wxDateSpan& wxDateSpan::Subtract(const wxDateSpan & other)

Resta el wxDateSpan dado a este wxDateSpan y devuelve una referencia a sí mismo.

Subtract()

e wxDateSpan::Subtract(const wxDateSpan & other) const

Devuelve la diferencia de dos intervalos de fechas.

Valor de retorno

Un nuevo objeto wxDateSpan con el resultado.

Week()

static wxDateSpan wxDateSpan::Week()

Devuelve un objeto de intervalo de fechas correspondiente a una semana.

Weeks()

static wxDateSpan wxDateSpan::Weeks(int weeks)

Devuelve un objeto de intervalo de fechas correspondiente al número de semanas dado.

Year()

static wxDateSpan wxDateSpan::Year()

Devuelve un objeto de intervalo de fechas correspondiente a un año.

Years()

static wxDateSpan wxDateSpan::Years(int years)

Devuelve un objeto de intervalo de fechas correspondiente al número de años dado.

Operadores miembro

operator!=()

bool wxDateSpan::operator!=(const wxDateSpan & other) const

Devuelve true si este intervalo de fechas es diferente del otro.

operator*=()

wxDateSpan& wxDateSpan::operator*=(int factor)

Multiplica este intervalo de fechas por el factor especificado.

El producto se calcula multiplicando cada uno de los componentes por el factor.

Valor de retorno

Una referencia a este objeto wxDateSpan modificado en su lugar.

operator+=()

wxDateSpan& wxDateSpan::operator+=(const wxDateSpan & other)

Añade el wxDateSpan dado a este wxDateSpan y devuelve el resultado.

operator-()

wxDateSpan& wxDateSpan::operator-()

Cambia el signo de este intervalo de fechas.

operator-=()

wxDateSpan& wxDateSpan::operator-=(const wxDateSpan & other)

Resta el wxDateSpan dado a este wxDateSpan y devuelve el resultado.

operator==()

bool wxDateSpan::operator==(const wxDateSpan & other) const

Devuelve verdadero si este intervalo de fechas es igual al otro.

Dos intervalos de fechas se consideran iguales si y sólo si tienen el mismo número de años y meses y el mismo número total de días (contando tanto los días como las semanas).