Altova XMLSpy 2024 Enterprise Edition

Cette classe vous permet de traiter des attributs XML ou des éléments qui ont des types de date et d’heure, comme xs:dateTime.

 

Constructeurs

Nom

Description

DateTime()

Initialise une nouvelle instance de la classe DateTime à 12:00:00 minuit, le 1er janvier, 0001.

DateTime(__int64 value, short timezone)

Initialise une nouvelle instance de la classe DateTime. Le paramètre value représente le nombre de tics (intervales de 100 nanosecondes) qui se sont écoulés depuis 12:00:00 minuit, le 1er janvier, 0001.

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

Initialise une nouvelle instance de la classe DateTime à l’année, mois, jour, heure, minute et seconde fournis en tant qu’argument.

 

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

Initialise une nouvelle instance de la classe DateTime à l’année, mois, jour, heure, minute, seconde et fuseau horaire fournis en tant qu’argument. Le fuseau horaire est exprimé en minutes et peut être positif ou négatif. Par exemple, le fuseau horaire "UTC-01:00" est exprimé en tant que "-60".

 

 

Méthodes

Nom

Description

unsigned char Day() const

Retourne le jour du mois de l’objet DateTime actuel. Les valeurs de retour s’étendent de 1 à 31.

int DayOfYear() const

Retourne le jour de l’année de l’objet DateTime actuel. Les valeurs de retour s’étendent de 1 à 366.

bool HasTimezone() const

Retourne Booléenne true si l’objet DateTime actuel présente un fuseau horaire défini ; false sinon.

unsigned char Hour() const

Retourne l’heure de l’objet DateTime actuel. Les valeurs de retour s’étendent de 0 à 23.

static bool IsLeapYear(int year)

Retourne Booléenne true si l’année de la classe DateTime est une année bissextile ; false sinon.

unsigned char Minute() const

Retourne la minute de l’objet DateTime actuel. Les valeurs de retour s’étendent de 0 à 59.

unsigned char Month() const

Retourne le mois de l’objet DateTime actuel. Les valeurs de retour s’étendent de 1 à 12.

__int64 NormalizedValue() const

Retourne la valeur de l’objet DateTime exprimé en tant que Coordinated Universal Time (UTC).

double Second() const

Retourne la seconde de l’objet DateTime actuel. Les valeurs de retour s’étendent de 0 à 59.

void SetTimezone(short tz)

Définit le fuseau horaire de l’objet DateTime actuel à la valeur du fuseau horaire fourni en tant qu’argument. L’argument tz est exprimé en minutes et peut êtr positif ou négatif.

short Timezone() const

Retourne le fuseau horaire, en minutes de l’objet DateTime actuel. Avant d’utiliser cette méthode, veuillez vous assurer que l’objet comporte réellement un fuseau horaire, en appelan la méthode HasTimezone().

__int64 Value() const

Retourne la valeur de l’objet DateTime object, exprimé dans le nombre de tics (intervalles de 100 nanosecondes) qui se sont écoulés depuis 12:00:00 minuit, le 1er janvier, 0001.

int Weekday() const

Retourne le jour de la semaine de l’objet DateTime actuel, en tant qu’un entier. Les valeurs s’étendent de 0 à 6, 0 étant lundi (ISO-8601).

int Weeknumber() const

Retourne le nombre de semaines dans l’année de l’objet DateTime actuel. Les valeurs de retour sont conformes à ISO-8601.

int WeekOfMonth() const

Retourne le nombre de semaines dans le mois de l’objet DateTime actuel. Les valeurs de retour sont conformes à ISO-8601.

int Year() const

Retoune l’année de l’objet DateTime actuel.

 

Exemple

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

© 2017-2023 Altova GmbH