Altova MapForce 2023 Enterprise Edition

Esta clase permite procesar atributos o elementos XML de tipo hora y fecha (p. ej. xs:dateTime).

 

Constructores

 

Nombre

Descripción

DateTime()

Inicializa una instancia nueva de la clase DateTime en la medianoche 12:00:00 del 1 de enero de 0001.

DateTime(__int64 value, short timezone)

Inicializa una instancia nueva de la clase DateTime. El parámetro value representa el número de ciclos (intervalos de 100 nanosegundos) que han pasado desde la medianoche 12:00:00 del 1 de enero de 0001.

DateTime(int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, double second)

Inicializa una instancia nueva de la clase DateTime en el año, mes, día, hora, minuto y segundo dados como argumento.

DateTime(int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, double second, short timezone)

Inicializa una instancia nueva de la clase DateTime en el año, mes, día, hora, minuto, segundo y zona horaria dados como argumento. La zona horaria se expresa en minutos y puede ser positiva o negativa. Por ejemplo, la zona horaria "UTC-01:00" se expresa como "-60".

 

 

Métodos

 

Nombre

Descripción

unsigned char Day() const

Devuelve el día del mes del objeto DateTime actual. Los valores devueltos están comprendidos entre 1 y 31.

int DayOfYear() const

Devuelve el día del año del objeto DateTime actual. Los valores devueltos están comprendidos entre 1 y 366.

bool HasTimezone() const

Devuelve el valor binario true si el objeto DateTime actual tiene definida una zona horaria. De lo contrario devuelve false.

unsigned char Hour() const

Devuelve la hora del objeto DateTime actual. Los valores devueltos están comprendidos entre 0 y 23.

static bool IsLeapYear(int year)

Devuelve el valor binario true si el año de la clase DateTime es un año bisiesto. De lo contrario devuelve false.

unsigned char Minute() const

Devuelve el minuto del objeto DateTime actual. Los valores devueltos están comprendidos entre 0 y 59.

unsigned char Month() const

Devuelve el mes del objeto DateTime actual. Los valores devueltos están comprendidos entre 1 y 12.

__int64 NormalizedValue() const

Devuelve el valor del objeto DateTime expresado como UTC.

double Second() const

Devuelve el segundo del objeto DateTime actual. Los valores devueltos están comprendidos entre 0 y 59.

void SetTimezone(short tz)

Establece la zona horaria del objeto DateTime actual en el valor de zona horaria dado como argumento. El argumento tz se expresa en minutos y puede ser positivo o negativo.

short Timezone() const

Devuelve la zona horaria en minutos del objeto DateTime actual. Antes de usar este método asegúrese de que el objeto realmente tiene una zona horaria (llamando al método HasTimezone()).

__int64 Value() const

Devuelve el valor del objeto DateTime expresado en el número de ciclos (intervalos de 100 nanosegundos) que han pasado desde la medianoche 12:00:00 del 1 de enero de 0001.

int Weekday() const

Devuelve el día de la semana del objeto DateTime actual como entero. Los valores están comprendidos entre 0 y 6, siendo 0 el lunes (ISO-8601).

int Weeknumber() const

Devuelve el número de la semana del año del objeto DateTime actual. Los valores devueltos son conformes a ISO-8601.

int WeekOfMonth() const

Devuelve el número de la semana del mes del objeto DateTime actual. Los valores devueltos son conformes a ISO-8601.

int Year() const

Devuelve el año del objeto DateTime actual.

 

Ejemplo

 

void Example()

{

 // inicializar una nueva instancia de DateTime en la medianoche 12:00:00 del 1 de enero de 0001

 altova::DateTime dt1 = altova::DateTime();

 

 // inicializar una nueva instancia de DateTime usando el año, mes, día, hora, minuto y segundo

 altova::DateTime dt2 = altova::DateTime(2015, 11, 10, 9, 8, 7);

 

 // inicializar una nueva instancia de DateTime usando el año, mes, día, hora, minuto, segundo y la zona horaria UTC +01:00

  altova::DateTime dt = altova::DateTime(2015, 11, 22, 13, 53, 7, 60);

 

 // Obtener el valor de este objeto DateTime

 std::cout << "El número de ciclos del objeto DateTime es: " << dt.Value() << std::endl;

 

 // Obtener el año

 cout << "El año es: " << dt.Year() << endl;

 // Obtener el mes

 cout << "El mes es: " << (int)dt.Month() << endl;

 // Obtener el día del mes

 cout << "El día del mes es: " << (int) dt.Day() << endl;

 // Obtener el día del año

 cout << "El día del año es: " << dt.DayOfYear() << endl;

 // Obtener la hora

 cout << "La hora es: " << (int) dt.Hour() << endl;

 // Obtener el minuto

 cout << "El minuto es: " << (int) dt.Minute() << endl;

 // Obtener el segundo

 cout << "El segundo es: " << dt.Second() << endl;

 // Obtener el día de la semana

 cout << "El día de la semana es: " << dt.Weekday() << endl;

 // Obtener el número de la semana

 cout << "La semana del año es: " << dt.Weeknumber() << endl;

 // Obtener la semana del mes

 cout << "La semana del mes es: " << dt.WeekOfMonth() << endl;

 

 // Comprobar si una instancia de DateTime tiene una zona horaria

 if (dt.HasTimezone() == TRUE)

 {                

         // generar el valor de la zona horaria

         cout <<  "La zona horaria es: " << dt.Timezone() << endl;

 }

 else

 {

         cout <<  "No se definió la zona horaria." << endl;

 }

 

 // Construir un objeto DateTime con una zona horaria UTC+01:00 (Viena)

 altova::DateTime vienna_dt = DateTime(2015, 11, 23, 14, 30, 59, +60);

 // Generar el resultado en formato legible

 cout << "La hora de Viena: "

          << (int) vienna_dt.Month()

          << "-" << (int) vienna_dt.Day()

          << " " << (int) vienna_dt.Hour()

          << ":" << (int) vienna_dt.Minute()

          << ":" << (int) vienna_dt.Second()

          << endl;

 

 // Convertir el valor en hora UTC

 DateTime utc_dt = DateTime(vienna_dt.NormalizedValue());

 // Generar el resultado en formato legible

 cout << "La hora UTC:    "

         << (int) utc_dt.Month()

         << "-" << (int) utc_dt.Day()

         << " " << (int) utc_dt.Hour()

         << ":" << (int) utc_dt.Minute()

         << ":" << (int) utc_dt.Second()

         << endl;

 

 // Comprobar si el año es bisiest

 int year = 2016;

 if( altova::DateTime::IsLeapYear(year) )

 { cout << year << " es año bisiesto" << endl; }

 else

 { cout << year << " no es año bisiesto" << endl; }        

}

© 2017-2023 Altova GmbH