qtDateTime

113,05 351,05 

Artikelnummer: n. v. Kategorie: Schlagwörter: , , , , , , , , ,

Beschreibung

Methoden und Prozeduren zum Umgang mit Datum & Zeit

Dieses MODULE erweitert Fortran um Datums- und Zeittypen (TYPEs), mit denen elementare arithmetische und relationale Operationen möglich sind.

Dazu werden intern im qtDateTime MODULE elementare Fortran Operatoren überladen:

  • die arithmetischen Operatoren + und – ,
  • der Zuweisungsoperator =
  • und die relationalen Operatoren
    <
    .LT.
    <=
    .LE.
    ==
    .EQ.
    /=
    .NE.
    >
    .GT.
    >=
    .GE

Dadurch werden Operationen wie bspw.

TYPE(qtDT_T_Date) tDate1, tDate2, tDate3
INTEGER nDays
...
! Zuweisung eines Felds (array) an einen Datumstyp
tDate3 = (/31,12,2012/)
...
! Differenz zweier Datumswerte in Tagen
nDays = tDate2 - tDate1
...
! Vergleich zweier Datumswerte
IF ( tDate2 < tDate3 ) tDate2 = tDate1 + 7

möglich. Dies erleichtert die Programmierung nicht nur, sondern beschleunigt sie auch. Zudem wird der Quellcode lesbarer und damit auch leichter wartbar.
Einzelheiten zu allen Operatoren finden sich in der qtDateTime Dokumentation (online-help).
Neben den operationellen Erweiterungen bietet qtDateTime weitere hilfreiche Funktionen für den Umgang mit Datum und Zeit:

Gruppe /
qtDateTime Funktion
Funktion
Initialisierung
qtDT_S_Initialization Initialisierung von qtDateTime
Datums-Funktionen
qtDT_F_DateToday Liefert das Tagesdatum
qtDT_F_DateToInteger Wandelt ein Datumswert in eine Ganzzahl (INTEGER)
qtDT_S_IntegerArrayToDate Wandelt eine Datumsangabe in einem Feld in einen Datumstyp
qtDT_F_IsValidDate Prüft, ob ein Datumswert gültig ist
qtDT_F_LeapYear Prüft, ob ein Jahr ein Schaltjahr ist
qtDT_F_DaysInYear Liefert die Anzahl Tage im Jahr
qtDT_F_DaysInMonth Liefert die Anzahl Tage in einem Monat für ein angegebenes Jahr
qtDT_F_CumulatedDays Liefert die kumulierte Anzahl Tage der Monate eines Jahres vor einem angegebenen Monat
qtDT_F_DayOfYear Liefert den Tag des Jahres (1 – 366) für ein gegebenes Datum
qtDT_F_DayOfWeek Liefert den Wochentag (1 – 7) für ein gegebenes Datum
qtDT_F_WeekOfYear Liefert die Wochennummer (1- 53) für ein gegebenes Datum
qtDT_F_DayOfYearToDate Determines the date for a given day of year (1 – 365|366)
qtDT_F_DateDifference Liefert die Differenz zweier Datumsangaben in Tagen
qtDT_F_DateAddDays Liefert ein Datum als Ergebnis der Addition einer Anzahl Tage zu einem gegebenen Datum
Zeit-Funktionen
qtDT_F_TimeNow Liefert die Uhrzeit
qtDT_F_TimeToRealMS Wandelt einen Zeitwert in eine reelle Zahl
qtDT_F_TimeToIntegerMS Wandelt einen Zeitwert in eine Ganzzahl
qtDT_F_MillisecondsToTime Wandelt eine Zeitangabe in Millisekunden in einen Zeitwert
qtDT_F_MillisecondsToDayTime Wandelt eine Zeitangabe in Millisekunden in einen Tageszeitwert
qtDT_S_TimeToDayTime Wandelt einen Zeitwert in einen Tageszeitwert
qtDT_S_DayTimeToTime Wandelt einen Tageszeitwert in einen Zeitwert
qtDT_F_IsValidTime Prüft, ob ein Zeitwert gültig ist
qtDT_F_IsValidDayTime Prüft, ob ein Tageszeitwert gültig ist
qtDT_F_TimeDifference Liefert die Differenz zweier Zeitwerte
qtDT_F_TimePlusTime Liefert den Zeitwert, der sich durch Addition zweier Zeitwerte ergibt
qtDT_F_CurrentTimeStamp Liefert das Tagesdatum und die Uhrzeit
qtDT_F_StopWatch Stoppuhrfunktionen (in Millisekunden)

Lieferumfang

qtDateTime besteht aus einer statischen Bibliothek (library, .lib) und diversen prä-compilierten MODULE-Dateien (.mod). Die Beschreibung der Prozeduren und ihre Verwendung finden sich in einer HTML Online-Hilfe, die mittels eines üblichen Internet-Browsers geladen werden kann (z.B. Firefox, Opera; diese müssen nicht on-line sein).
Zum schnellen Einstieg wird ein Beispielprogramm (Ex01DateTime.f90) mitgeliefert, das alle essentiellen Funktionen in der Anwendung vorführt. Für die derzeit unterstützten Compilersysteme (s.u.) werden fertige Projekte bereitgestellt, die das Beispielprogramm und alle anderen benötigten Dateien einbinden. Diese sind sofort nutzbar, so daß nach dem Laden eines Projekts, ein „Build“ das Beispielprogramm als .exe (Ex01DateTime.exe) erzeugt. Siehe auch untenstehende „Instruktionen zur Installation und dem ersten Gebrauch„.
Der Quellcode von qtDateTime (eine einzige Datei) ist zusätzlich erhältlich und besteht aus Standard Fortran 95 Anweisungen (und ausführlichen Kommentaren), die von jedem Fortran 95 Compiler auf jedem beliebigen Betriebssystem zu übersetzen sein sollten.

Unterstützte Compilersysteme

Gegenwärtig existieren „Binärversionen“ (Bindings) für:

  • Intel Visual Fortran (Win32 & Win64) v11.1 and higher
  • Silverfrost FTN95 (Win32) v7.1 and higher

Diese mögen auch von anderen kompatiblen Compilern verwendet werden können. Sie können das selbst mit der Testversion (s.u.) ausprobieren.
Wenn Sie einen Compiler einsetzen, für den bisher kein qtDateTime Binding existiert, fragen Sie bitte an. Wenn genügend Nachfrage besteht, erstellen wir gerne eine qtDateTime Variante für Ihren Compiler.

Testversion / Download

Sie können hier eine Testversion laden, die einige funktionale Einschränkungen besitzt (*); Download-Größe: 820 KB):
qtDateTime.zip
Zur Installation ist ein Passwort erforderlich, daß wir Ihnen gerne zusenden. Bitte fragen Sie an (email).

Instruktionen zur Installation und dem ersten Gebrauch:

  1. Erzeugen Sie ein Verzeichnis auf der Festplatte Ihres PC (z.B. C:\qtDateTime).
  2. Kopieren Sie die Download-Datei qtDateTime.zip dorthin.
  3. Entpacken Sie diese Datei dort.
  4. Schon sind Sie startbereit, qtDateTime auszuprobieren.
    Laden Sie
    Examples\IVF\IVF.sln
    in Visual Studio
    oder
    Examples\FTN95\Ex01DateTime.ftn95p
    in Plato
    (ein Doppelklick auf das Dateisymbol im Windows File Explorer genügt dazu zumeist).
  5. Danach führen Sie „Build“ aus (woraufhin das qtDateTime Demoprogramm Ex01DateTime.exe erzeugt wird).
  6. Sie können Ex01DateTime.exe nun laufen lassen, auch im Debugger.
  7. Wenn Sie qtDateTime in einem Ihrer Programme verwenden wollen, inkludieren Sie das mitgelieferte MODULE (.mod; mittels USE) und binden die Library (.lib; beim Binden/Link) zu Ihrem Projekt hinzu. Und schon kann’s losgehen…

(*) The evaluation copy allows the usage of all functions until the end of the year. When starting a program that calls qtDateTime functions, a message box pops up at the beginning which displays a message accordingly. On purchase of a qtDateTime licence you will receive a licence file, which activates the „full version“, which can be used without limitation (no message box, no time limit).

Lizensierung

Die Testversion wird in eine voll-funktionsfähige Version durch den Kauf einer qtDateTime Lizenz umgewandelt (eine Neuinstallation ist nicht notwendig).
Eine qtDateTime Lizenz gewährt einem einzigen, namentlich benannten Benutzer die Nutzung der qtDateTime Software in Programmen/Applikationen (.exe), die frei verteilt werden dürfen. D.h., es werden keine Laufzeitgebühren erhoben. Die vollständigen Lizenzbedingungen sind in der Dokumentation aufgeführt.
Der Fortran Quellcode von qtDateTime ist ebenfalls erhältlich.

Technische Unterstützung (Support)

Wenn Sie Fragen haben, Probleme auftreten, Wünsche äußern möchten etc., stehen wir gerne zur Verfügung: eMail an support@qtsoftware.de.

Zusätzliche Informationen

Variante

single named user licence (.mod, .lib), with Fortran 95 source code

Compiler

Intel Visual Fortran, Silverfrost FTN95