Class DT_TIME_VALUE |

    indexing

>     description:

>         "Values dealing with hour, minute, second and millisecond"

>     library:    "Gobo Eiffel Time Library"
>     author:     "Eric Bezault <ericb@gobosoft.com>"
>     copyright:  "Copyright (c) 2000-2001, Eric Bezault and others"
>     license:    "Eiffel Forum License v2 (see forum.txt)"

    deferred class interface

>     DT_TIME_VALUE

    feature -- Access

>     hour: INTEGER
>             -- Hour
>         deferred

>     minute: INTEGER
>             -- Minute
>         deferred

>     second: INTEGER
>             -- Second
>         deferred

>     millisecond: INTEGER
>             -- Millisecond
>         deferred

    feature -- Output

>     out: STRING
>             -- Printable representation (hour:minute:second[.millisecond])
>             -- (The millisecond part appears only when not zero.)
>             -- (From GENERAL.)
>         ensure
>             out_not_void: Result /= Void

>     precise_out: STRING
>             -- Printable representation (hour:minute:second.millisecond)
>         ensure
>             precise_out_not_void: Result /= Void

>     time_out: STRING
>             -- Printable representation (hour:minute:second[.millisecond])
>             -- (The millisecond part appears only when not zero.)
>         ensure
>             time_out_not_void: Result /= Void

>     precise_time_out: STRING
>             -- Printable representation (hour:minute:second.millisecond)
>         ensure
>             precise_time_out_not_void: Result /= Void

>     append_to_string (a_string: STRING)
>             -- Append printable representation
>             -- (hour:minute:second[.millisecond]) to a_string.
>             -- (The millisecond part appears only when not zero.)
>         require
>             a_string_not_void: a_string /= Void

>     append_time_to_string (a_string: STRING)
>             -- Append printable representation
>             -- (hour:minute:second[.millisecond]) to a_string.
>             -- (The millisecond part appears only when not zero.)
>         require
>             a_string_not_void: a_string /= Void

>     append_precise_to_string (a_string: STRING)
>             -- Append printable representation (hour:minute:second.millisecond)
>             -- to a_string.
>         require
>             a_string_not_void: a_string /= Void

>     append_precise_time_to_string (a_string: STRING)
>             -- Append printable representation (hour:minute:second.millisecond)
>             -- to a_string.
>         require
>             a_string_not_void: a_string /= Void

    end -- class DT_TIME_VALUE