Upgrade 3CX to v18 and get it hosted free!

Asterisk cmd SayUnixTime

Author image

Synopsis

Says a date and/or time to the caller.

Syntax

SayUnixTime(unixtime,timezone,format)

Description

Uses some of the sound files stored in /var/lib/asterisk/sounds to construct a phrase saying the specified date and/or time in the specified format.

unixtime is the date/time to say, represented as a standard unix timestamp (number of seconds since 1 Jan 1970). If this parameter is omitted, the default value is the current date/time.

timezone specifies the timezone that the unixtime is in. If this parameter is omitted, the default value is the time zone of the computer. It sould be specified as a unix timezone (see your /usr/share/zoneinfo directory for a list of timezones known to your computer), for example, “Pacific/Samoa”.

format is a string specifying in what way to say the date/time. It uses a format based on the strftime(3) unix system call, if you’re familiar with that. If omitted, the default value is:

ABdY \’digits/at\’ IMp

This would result in a phrase like this: “Monday January twenty first 2003 at seven fifty two p m“. Note that the ‘digits/at‘ part refers to the sound /var/lib/asterisk/sounds/digits/at.gsm, i.e. it is a relative pathname to a sound file.

SayUnixTime is Multi-Language-compliant. It will say the date/time in the language set by the Asterisk channels or overriden with the SetLanguage command, if the localized sound files for that language are installed.

Format Codes

\’filename\’ (1.4) filename (1.6+) filename of a sound file In Asterisk version 1.4 backslash and single ticks (\’) around the filename are required.
A or a Day of week Saturday, Sunday, …, Friday
B or b or h Month name January, February, …, December
d or e numeric day of month first, second, …, thirty-first
Y Year
I(capital eye) or l(lower ell) Hour, 12 hour clock one, two, three, …, twelve
H Hour, 24 hour clock ?, oh one, oh two, …, oh nine, ten, eleven, …, twenty-three
k Hour, 24 hour clock ?, one, two, three, …, twenty three
M Minute ?, oh one, oh two, … fifty-nine
m (in CVS HEAD) Month number Say number of month (first – twelfth)
P or p AM or PM ay em / pee em
Q Date “today”, “yesterday” or ABdY
q Date “” (for today), “yesterday”, weekday, or ABdY
R 24 Hour, Minute 24 hour time, including minute (HM)
S seconds
T 24 Hour, Minute, Second 24 hour clock with minute and second (HMS)

How does SayUnixTime render years? Is 2000 said as “two thousand” or “twenty hundred”? 2001 = “twenty oh one” or “two thousand and one”? 1975 = “nineteen seventy five” or “one thousand nine hundred and seventy five”?

  • answer: 2005 is said as “two thousand five”.

For times between midnight at 12:59 am, does %H say “zero zero” or “oh oh” or “zero” or “oh” or …? Does %k say “zero” or “oh”?

  • answer: %k and %H both say “oh”. %R seems to be the equivalent of %H%M.

Does %M say “oh clock” or “zero” or “oh” or nothing or what, to mean zero minutes? Are 1 to 9 minutes said as “oh one” to “oh nine”? And so on, for the other format characters here.

  • answer: %M says “oh clock”, “oh one” and so on.

Example

SayUnixTime(,EST5EDT,ABdY \’digits/at\’ IMp)
Says the current time based on the US Eastern Standard Time or Eastern Daylight Time.

See also


Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.