Thereto, internally the qtDateTime MODULE overloads elemental Fortran operators:
- arithmetic operators + , and - ,
- the assignment operator =
- and relational expression operators
So, for example, operations such as
TYPE(qtDT_T_Date) tDate1, tDate2, tDate3
! assignment of an array to the date TYPE:
tDate3 = (/31,12,2012/)
! difference of two dates in days
nDays = tDate2 - tDate1
! comparing two dates
IF ( tDate2 < tDate3 ) tDate2 = tDate1 + 7
become possible, and allow quick and easy coding. And the
code becomes simple to understand, and so to maintain. The
documentation (online-help) explains the details.
Beside these operator enhancements qtDateTime provides some other basic helpful functions when operating with date and time:
|qtDT_F_DateToday||Returns today's date|
|qtDT_F_DateToInteger||Converts a date into an integer value.|
Converts a date specification in an array into a date type
Checks if the date value is valid
|qtDT_F_LeapYear||Checks, if a year is a leap-year.|
|qtDT_F_DaysInYear||Returns the number of days in a year|
|qtDT_F_DaysInMonth||Returns the number of days of a month for the specified year|
|qtDT_F_CumulatedDays||Returns the cumulated number of days in the months of a year before the given month|
|qtDT_F_DayOfYear||Returns the day of year (1 - 365|366)|
|qtDT_F_DayOfWeek||Returns the day of week (1 - 7) for a given date|
|qtDT_F_WeekOfYear||Returns the week number for a given date|
|qtDT_F_DayOfYearToDate||Determines the date for a given day of year (1 - 365|366)|
|qtDT_F_DateDifference||Returns the difference of two dates in days|
|qtDT_F_DateAddDays||Returns a date that is the result of adding days to a given date|
|qtDT_F_TimeNow||Returns the current time|
|qtDT_F_TimeToRealMS||Converts a time value into a real value|
|qtDT_F_TimeToIntegerMS||Converts a time value into an integer value|
|qtDT_F_MillisecondsToTime||Converts a time specification in milliseconds into a time type|
|qtDT_F_MillisecondsToDayTime||Converts a time specification in milliseconds into a daytime type|
|qtDT_S_TimeToDayTime||Converts a time type into a daytime type|
|qtDT_S_DayTimeToTime||Converts a daytime type into a time type|
|qtDT_F_IsValidTime||Checks if the time value is valid|
|qtDT_F_IsValidDayTime||Checks if the daytime value is valid|
|qtDT_F_TimeDifference||Returns the difference of two time values|
|qtDT_F_TimePlusTime||Returns a time that is the result of adding two time values|
|qtDT_F_CurrentTimeStamp||Get current date & time|
|qtDT_F_StopWatch||Stopwatch functions (in milliseconds)|
Scope of Supply
qtDateTime consists of a static library (.lib) and pre-compiled
MODULE files (.mod). The procedures and their usage are described in a
HTML online-help that displays in typical Internet browsers (such as Firefox,
Opera and others; these can be offline).
For a quick start, a demonstration program (Ex01DateTime.f90) is provided, that shows many essential functions. For all compiler systems that are supported (see below) ready-to-use projects are provided, that include the demo program and all the other files needed. So, after loading the project, a "Build" will create the demo program (Ex01DateTime.exe). Compare the "Instructions for Installation and First Usage" below.
The source code of qtDateTime (just one single file) can also be purchased, and consists of Standard Fortran 95 which should be compilable by any Fortran 95 compiler on any operating system.
Supported Compiler Systems
At present the following binary variants exist:
- Intel Visual Fortran (Win32 & Win64) v11.1 and higher
- Silverfrost FTN95 (Win32) v7.1 and higher
It may be that compatible compilers can use qtDateTime
too. Try yourself using the evaluation version (see below). If you own
a compiler that is not supported by qtDateTime, but you would like to
have a binding for this, let us know (mailto:firstname.lastname@example.org).
If there is sufficient demand, we will develop a binary version for your
You can download an evaluation copy here which has a few
functional limitations (1); download size: 780
For installation, a password is required that you can obtain from us free of charge. Please ask (send an email).
Instructions for Installation and First Usage:
- Create a directory on your PC (e.g. C:\qtDateTime).
- Copy the file you have downloaded into this directory.
- Unzip this file into this directory.
- Then you are ready to start one of the files suitable to your development
(a double click on the file symbol in Windows File Explorer should start-up your development environment).
- After this perform a "Build" (which creates the qtDateTime demo program Ex01DateTime.exe).
- The Ex01DateTime.exe should have been built and you can run it.
- If you want to try qtDateTime yourself, simply USE the MODULE and link the library. And there you go....
If you encounter difficulties, or something is not working properly, give us a call: +49(0)2361 4864760 or send an email.
(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).
The evaluation copy is converted into a fully functioning version by
purchase of a qtDateTime licence (no re-installation necessary).
A qtDateTime licence grants a single named user (the licensee) the usage of the qtDateTime software for to create applications (.exe) that the licensee may distribute freely. This means, there are no runtime fees or any other royalties to be paid additionally. The complete licence conditions are to be found in the manual.
The licence is supplied (QTDT.0010) by sending a licence file via email. The licence file contains the data the licensee specifies (name and address), the licence number, and the licence key.
If you have questions, you detect a problem, you want an extension, etc., let us know: email@example.com.