altova::DateTime
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; } } |