altova::DateTime
Mit Hilfe dieser Klasse können XML-Attribute oder -Elemente, die Datums- und Uhrzeittypen wie z.B. xs:dateTime haben, verarbeitet werden.
Konstruktoren
Name | Beschreibung |
---|---|
DateTime() | Initialisiert eine neue Instanz der DateTime-Klasse auf 12:00:00 Mitternacht, 1. Jänner 0001. |
DateTime(__int64 value, short timezone) | Initialisiert eine neue Instanz der DateTime-Klasse. Der Parameter value repräsentiert die Anzahl der Zeiteinheiten (100-Nanosekunden-Intervalle), die seit 12:00:00 Mitternacht, 1. Jänner 0001 verstrichen sind. |
DateTime(int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, double second) | Initialisiert eine neue Instanz der DateTime-Klasse auf das als Argument bereitgestellte Jahr, den Monat, Tag, die Stunde, Minute und Sekunde.
|
DateTime(int year, unsigned char month, unsigned char day, unsigned char hour, unsigned char minute, double second, short timezone) | Initialisiert eine neue Instanz der DateTime-Klasse auf das als Argument bereitgestellte Jahr, den Monat, Tag, die Stunde, Minute, Sekunde und Zeitzone. Die Zeitzone wird in Minuten ausgedrückt und kann positiv oder negativ sein. So wird z.B. die Zeitzone "UTC-01:00" als "-60" ausgedrückt.
|
Methoden
Name | Beschreibung |
---|---|
unsigned char Day() const | Gibt den Tag des Monats des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 1 bis 31. |
int DayOfYear() const | Gibt den Tag des Jahres des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 1 bis 366. |
bool HasTimezone() const | Gibt den Booleschen Wert true zurück, wenn für das aktuelle DateTime-Objekt eine Zeitzone definiert ist; gibt andernfalls false zurück. |
unsigned char Hour() const | Gibt die Stunde des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 0 bis 23. |
static bool IsLeapYear(int year) | Gibt den Booleschen Wert true zurück, wenn das Jahr der DateTime-Klasse ein Schaltjahr ist; gibt andernfalls false zurück. |
unsigned char Minute() const | Gibt die Minute des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 0 bis 59. |
unsigned char Month() const | Gibt den Monat des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 1 bis 12. |
__int64 NormalizedValue() const | Gibt den als Coordinated Universal Time (UTC) ausgedrückten Wert des aktuellen DateTime-Objekts zurück. |
double Second() const | Gibt die Sekunde des aktuellen DateTime-Objekts zurück. Die Rückgabewerte liegen im Bereich von 0 bis 59. |
void SetTimezone(short tz) | Setzt die Zeitzone des aktuellen DateTime-Objekts auf den als Argument bereigestellten Zeitzonenwert. Das Argument tz wird in Minuten ausgedrückt und kann positiv oder negativ sein. |
short Timezone() const | Gibt die Zeitzone des aktuellen DateTime-Objekts in Minuten zurück. Stellen Sie vor Verwendung dieser Methode durch Aufruf der HasTimezone()-Methode sicher, dass das Objekt tatsächlich eine Zeitzone hat. |
__int64 Value() const | Gibt den Wert des DateTime Objekts zurück, ausgedrückt in der Anzahl der Zeiteinheiten (100-Nanosekunden-Intervalle), die seit 12:00:00 Mitternacht, 1. Jänner 0001 verstrichen sind. |
int Weekday() const | Gibt den Wochentag des aktuellen DateTime-Objekts als Ganzzahl zurück. Die Werte liegen im Bereich von 0 bis 6, wobei 0 Montag ist (ISO-8601). |
int Weeknumber() const | Gibt den Nummer der Kalenderwoche des aktuellen DateTime-Objekts zurück. Die Werte entsprechen der ISO-8601-Norm. |
int WeekOfMonth() const | Gibt den Nummer der Woche des Monats des aktuellen DateTime-Objekts zurück. Die Werte entsprechen der ISO-8601-Norm. |
int Year() const | Gibt das Jahr des aktuellen DateTime-Objekts zurück. |
Beispiel
void Example() { // initialize a new DateTime instance to 12:00:00 midnight, January 1st, 0001 altova::DateTime dt1 = altova::DateTime();
// initialize a new DateTime instance using the year, month, day, hour, minute, and second altova::DateTime dt2 = altova::DateTime(2015, 11, 10, 9, 8, 7);
// initialize a new DateTime instance using the year, month, day, hour, minute, second, and UTC +01:00 timezone altova::DateTime dt = altova::DateTime(2015, 11, 22, 13, 53, 7, 60);
// Get the value of this DateTime object std::cout << "The number of ticks of the DateTime object is: " << dt.Value() << std::endl;
// Get the year cout << "The year is: " << dt.Year() << endl; // Get the month cout << "The month is: " << (int)dt.Month() << endl; // Get the day of the month cout << "The day of the month is: " << (int) dt.Day() << endl; // Get the day of the year cout << "The day of the year is: " << dt.DayOfYear() << endl; // Get the hour cout << "The hour is: " << (int) dt.Hour() << endl; // Get the minute cout << "The minute is: " << (int) dt.Minute() << endl; // Get the second cout << "The second is: " << dt.Second() << endl; // Get the weekday cout << "The weekday is: " << dt.Weekday() << endl; // Get the week number cout << "The week of year is: " << dt.Weeknumber() << endl; // Get the week in month cout << "The week of month is: " << dt.WeekOfMonth() << endl;
// Check whether a DateTime instance has a timezone if (dt.HasTimezone() == TRUE) { // output the value of the Timezone cout << "The timezone is: " << dt.Timezone() << endl; } else { cout << "No timezone has been defined." << endl; }
// Construct a DateTime object with a timezone UTC+01:00 (Vienna) altova::DateTime vienna_dt = DateTime(2015, 11, 23, 14, 30, 59, +60); // Output the result in readable format cout << "The Vienna time: " << (int) vienna_dt.Month() << "-" << (int) vienna_dt.Day() << " " << (int) vienna_dt.Hour() << ":" << (int) vienna_dt.Minute() << ":" << (int) vienna_dt.Second() << endl;
// Convert the value to UTC time DateTime utc_dt = DateTime(vienna_dt.NormalizedValue()); // Output the result in readable format cout << "The UTC time: " << (int) utc_dt.Month() << "-" << (int) utc_dt.Day() << " " << (int) utc_dt.Hour() << ":" << (int) utc_dt.Minute() << ":" << (int) utc_dt.Second() << endl;
// Check if a year is a leap year int year = 2016; if( altova::DateTime::IsLeapYear(year) ) { cout << year << " is a leap year" << endl; } else { cout << year << " is not a leap year" << endl; } } |