tcp_date_timeval(?Date, ?Timeval)This predicate is used to convert between the time format supplied by
library(date) and the timeval/2 representation. At least one of the
arguments must be ground. The parameter Date is of the form
date(Year,Month,Day,Hour,Minute,Second).
library(date) has facilities for portraying time.
tcp_date_timeval/2 can be used with library(date) for portrayal:
:-use_module(library(addportray), [add_portray/1]).
:-use_module(library(date), [time_stamp/3]).
:-use_module(library(tcp), [tcp_date_timeval/2]).
:-initialization add_portray(portray_timeval).
portray_timeval(timeval(Seconds, MicroSeconds)):-
tcp_date_timeval(Date,timeval(Seconds, MicroSeconds)),
time_stamp(Date,'%y %02n %M %02d %W %02c:%02i:', Stamp),
write(Stamp),
Date=date(_, _, _, _, _, S),
X is (S * 1.0e6 + MicroSeconds) / 1.0e6,
(X < 10 -> write(0) ; true),
format('~2f', X).
Which would result in the following:
| ?- tcp_now(X).
X = 1989 03 March 01 Wednesday 17:09:58.12