www.qtsoftware.de |
qtDateTime |
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.
Download
Sie können hier eine Testversion laden, die einige
funktionale Einschränkungen besitzt (1);
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:
- Erzeugen Sie ein Verzeichnis auf der Festplatte Ihres PC (z.B. C:\qtDateTime).
- Kopieren Sie die Download-Datei qtDateTime.zip dorthin.
- Entpacken Sie diese Datei dort.
- 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).
- Danach führen Sie "Build" aus (woraufhin das qtDateTime
Demoprogramm Ex01DateTime.exe erzeugt wird).
- Sie können Ex01DateTime.exe nun laufen lassen, auch im Debugger.
- Wenn Sie qtDateTime selbst verwenden wollen, binden Sie das mitgelieferte
MODULE (.mod; mittels USE) und die Library (.lib; beim Binden/Link)
zu Ihrem Projekt hinzu. Und schon kann's losgehen...
(1) 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).
Preise & 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.
Art.Krz. |
Artikelbezeichnung |
Preis netto [€]
|
QTDT.0010 |
qtDateTime
Library (.lib, .mod), single named user licence |
95,00
|
QTDT.0210 |
qtDateTime
Fortran 95 source code (.f90) |
295,00
|
Alle Preisangaben in
EURO ohne gesetzliche Mehrwertsteuer.
Die Mehrwertsteuer entfällt bei Lieferungen in das EU-Ausland, wenn
die Umsatzsteuernummer angegeben wird.
Lieferungen in nicht-EU-Länder sind mehrwertsteuerfrei.
Wir liefern die Nutzungslizenz (QTDT.0010)
in Form einer Lizenzdatei bzw. Lizenzroutine via eMail (es fallen keine
Versandkosten an). Die Lizenzdatei enthält
die vom Lizenznehmer angegebenen Daten (d.h. Namen und Adresse) sowie
die Lizenznummer und Lizenzschlüssel.
Bestellung
Bestellen können Sie über unseren
WebShop
oder auch gerne formlos per Email (an info@qtsoftware.de)
oder schriftlich auf herkömmlichem Wege (Fax, Brief). Geben Sie bitte
eine email Adresse für die Lieferung der Lizenzdatei an.
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.
|