Timestamps

The timestamp command is useful for generating time representations in various forms. In its simplest form, timestamp with no arguments returns the time in seconds since the UNIX epoch (January 1, 1970 UTC).

expect1.1> timestamp
759382559

To convert the time into other forms, use the -format flag with a following string that describes the format. The command returns the string with appropriate substitutions. Generally, substitutions are made for each character preceded by a percent sign. For example, the time of day in 24-hour time is substituted for "%X“. Anything not preceded by a percent sign is passed through untouched. For example:

expect1.1> timestamp -format "The time of day is %X"
The time of day is 17:05:58
expect1.2> timestamp -format "It is a %A in %B"
It is a Monday in January

The substitutions are a superset of those defined by the C strftime function. The full list supported by Expect is as follows:

%a

abbreviated weekday name

%A

full weekday name

%b

abbreviated month name

%B

full month name

%c

date-time as in:Wed Oct 6 11:45:56 1993

%d

day of the month (01-31)

%H

hour(00-23)

%I

hour(01-12)

%j

day(001-366)

%m

month(01-12)

%M

minute(00-59)

%p

amorpm

%S

second(00-61)[a]

%u

day(1-7,Monday is first day of week)

%U

week(00-53,first Sunday is first day of week 1)

%V

week(01-53,ISO 8601 style)

%w

day(0-6,Sunday is 0)

%W

week(00-53,first Monday is first day of week 1)

%x

date-time as in:Wed Oct 6 1993

%X

time as in:23:59:59

%y

year(00-99)

%Y

year as in:1993

%Z

timezone (or nothing if timezone is not determinable) ...

Get Exploring Expect now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.