NAG Library Routine Document

x05acf  (date_string_compare)

 Contents

    1  Purpose
    7  Accuracy

1
Purpose

x05acf compares two date/time character strings, each stored in the format returned by x05abf.

2
Specification

Fortran Interface
Function x05acf ( ctime1, ctime2)
Integer:: x05acf
Character (*), Intent (In):: ctime1, ctime2
C Header Interface
#include nagmk26.h
Integer  x05acf_ ( const char *ctime1, const char *ctime2, const Charlen length_ctime1, const Charlen length_ctime2)

3
Description

x05acf compares two date/time character strings, and returns an integer that specifies which one is the earliest. The result is an integer returned through the routine name, with meaning as follows:

4
References

None.

5
Arguments

1:     ctime1 – Character(*)Input
2:     ctime2 – Character(*)Input
On entry: the date/time strings to be compared. These are expected be in the format returned by x05abf, although x05acf will still attempt to interpret the strings if they vary slightly from this format. See Section 9 for further details.

6
Error Indicators and Warnings

None.

7
Accuracy

Not applicable.

8
Parallelism and Performance

x05acf is not threaded in any implementation.

9
Further Comments

For flexibility, x05acf will accept various formats for the two date/time strings ctime1 and ctime2.
The strings do not have to be the same length. It is permissible, for example, to enter with one or both of the strings truncated to a smaller length, in which case missing fields are treated as zero.
Each character string may be of any length, but everything after character 80 is ignored.
Each string may or may not include an alphabetic day name, such as ‘Wednesday’, at its start. These day names are ignored, and no check is made that the day name corresponds correctly to the rest of the date.
The month name may contain any number of characters provided it uniquely identifies the month, however all characters that are supplied are significant.
Fields in the character string must be separated by one or more spaces.
The case of all alphabetic characters is not significant.
Any field in a date time string that is indecipherable according to the above rules will be converted to a zero value internally. Thus two strings that are completely indecipherable will compare equal.
According to these rules, all the following date/time strings are equivalent:

10
Example

This example initializes two date/time strings, and compares them by a call to x05acf.

10.1
Program Text

Program Text (x05acfe.f90)

10.2
Program Data

Program Data (x05acfe.d)

10.3
Program Results

Program Results (x05acfe.r)

© The Numerical Algorithms Group Ltd, Oxford, UK. 2017