Scryer Prolog documentation

Module time

:- use_module(library(time)).

This library provides predicates for reasoning about time.

current_time(-T)

Yields the current system time T in an opaque form, called a time stamp. Use format_time//2 to describe strings that contain attributes of the time stamp.

format_time(FormatString, TimeStamp)//

The nonterminal format_time//2 describes a list of characters that are formatted according to a format string. Usage:


   phrase(format_time(FormatString, TimeStamp), Cs)

TimeStamp represents a moment in time in an opaque form, as for example obtained by current_time/1.

FormatString is a list of characters that are interpreted literally, except for the following specifiers (and possibly more in the future):

%Y year of the time stamp. Example: 2020.
%m month number (01-12), zero-padded to 2 digits
%d day number (01-31), zero-padded to 2 digits
%H hour number (00-24), zero-padded to 2 digits
%M minute number (00-59), zero-padded to 2 digits
%S second number (00-60), zero-padded to 2 digits
%b abbreviated month name, always 3 letters
%a abbreviated weekday name, always 3 letters
%A full weekday name
%j day of the year (001-366), zero-padded to 3 digits
%% the literal %

Example:


   ?- current_time(T), phrase(format_time("%d.%m.%Y (%H:%M:%S)", T), Cs).
      T = [...], Cs = "11.06.2020 (00:24:32)".

max_sleep_time(T)

The maximum admissible time span for sleep/1.

sleep(S)

Sleeps for S seconds (a floating point number or integer).

time(Goal)

Reports the execution time of Goal.