INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "TIMESTAMP"
project: "The Universal Time & Date UTDC"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: timedate
class TIMESTAMP
inherit

DATE
undefine
difference,
minus,
plus,
set_local_time,
set_to_now,
infix "+",
infix "-",
infix "<"
redefine
clear,
out
end

TIME
undefine
difference,
minus,
plus,
set_local_time,
set_to_now,
infix "+",
infix "-",
infix "<"
redefine
clear,
out
end
creation

clear,
set,
set_from_compressed,
set_local_time,
set_to_now
feature

set (yr, mh, dy, hr, me: INTEGER; sd: DOUBLE)
require
date_time_valid: tt.valid_date (yr, mh, dy) and then tt.valid_time (hr, me, sd)

set_from_compressed (abs_day, millsec: INTEGER)
-- if necessary with normalisation

set_to_now

set_local_time

clear

infix "<" (ts: like Current): BOOLEAN

infix "+", plus (d: DURATION): like Current
require
date_time_valid: (milliseconds + d.milliseconds) // tt.milliseconds_in_day + absolute_days + d.absolute_days > 0

infix "-", minus (d: DURATION): like Current
require
date_time_valid: (milliseconds - d.milliseconds) // tt.milliseconds_in_day + absolute_days - d.absolute_days > 0

difference (t: like Current): DURATION
feature -- Output

out: STRING
-- New string containing printable represantation
-- Format is YYYY-MM-DD HH:MM:SS[.F]
end -- class TIMESTAMP

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES