date.sa
Generated by gen_html_sa_files from ICSI. Contact gomes@icsi.berkeley.edu for details
class TIME_MEASURE
class TIME_MEASURE is
attr t0,t0u:INT;
create:SAME is
r:SAME:=new; r.mark; return r;
end;
mark is DATE::sec_usec(out t0,out t0u); end;
interval:FLTD is
-- time in sec
t1,t1u:INT;
DATE::sec_usec(out t1,out t1u);
return (t1-t0).fltd+(t1u-t0u).fltd/(10.0d^6.0d);
end;
end;
class DATE
class DATE is
sec_usec(out sec,out usec:INT) is
s0::=CDATE::sa_sec_usec;
s1::=STR::create_from_c_string(s0);
sc::=s1.cursor;
sec:=sc.get_int; usec:=sc.get_int;
end;
unix_sec:INT is return CDATE::sa_u_time.int; end;
sec:INT is return CDATE::sa_tm_sec.int; end;
min:INT is return CDATE::sa_tm_min.int; end;
hour:INT is return CDATE::sa_tm_hour.int; end;
mday:INT is return CDATE::sa_tm_mday.int; end;
mon:INT is return CDATE::sa_tm_mon.int + 1; end;
year:INT is return CDATE::sa_tm_year.int + 1900; end;
wday:INT is return CDATE::sa_tm_wday.int; end;
yday:INT is return CDATE::sa_tm_yday.int; end;
isdst:INT is return CDATE::sa_tm_isdst.int; end;
end;
external C class CDATE is
sa_tv_mark_time;
sa_tv_difftime:C_INT; -- time in millisec
sa_sec_usec:EXT_OB; -- sec c.f. gettimeofday(2)
sa_u_time:C_INT;
sa_tm_sec:C_INT;
sa_tm_min:C_INT;
sa_tm_hour:C_INT;
sa_tm_mday:C_INT;
sa_tm_mon:C_INT;
sa_tm_year:C_INT;
sa_tm_wday:C_INT;
sa_tm_yday:C_INT;
sa_tm_isdst:C_INT;
end;