altova::DateTime

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Code Generator > Referenz zu generierten Klassen (C++) >

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; }        

}


© 2019 Altova GmbH