Команда SayUnixTime()


Назначение:

Проговаривает дату и/или время абоненту.

Описание

SayUnixTime(unixtime,timezone,format)


Использует некоторые звуковые файлы из директории /var/lib/asterisk/sounds для конструирования фразы, проговаривающей заданную дату и/или время в указанном формате.

unixtime - это время и дата для фразы, заданное в стандартном формате unix (количество секунд с 1 января 1970 года). Если параметр не задан, то, по умолчанию, используется текущее время и дата.

timezone - определяет временную зону для времени в unixtime. Если данный параметр не задан, то , по умолчанию, используется временная зона компьютера. Этот параметр должен быть задан, как временная зона unix (смотри содержимое Вашей директории /usr/share/zoneinfo , чтобы получить список временных зон, известных Вашему компьютеру), например, "Pacific/Samoa".

format - строка, определяющая, как и какие компоненты даты и времени нужно произнести. Этот параметр использует формат, базирующийся на системном вызове unix: strftime(3), который более привычный. Если параметр не указан, будет использоваться значение по умолчанию:

ABdY 'digits/at' IMp

При этом, в результате, будет произнесена фраза типа: "Monday January twenty first 2003 at seven fifty two p m". Обратите внимание, что 'digits/at' использует звуковой файл из /var/lib/asterisk/sounds/digits/at.gsm.

Команда SayUnixTime совместима с многоязыковой поддержкой в Asterisk. Она произносит дату или время на языке, который установлен для канала или, на заданном командой SetLanugage , если существуют языковые файлы для заданного языка.

Коды форматирования:

' filename'имя звукового файлаSingle ticks around the filename required.
A или aДень неделиВоскресенье, Понедельник, ..., Суббота
B или b или hНазвание месяцаЯнварь, Февраль, ..., Декабрь
d или eномер дня месяцапервое, второе, ..., тридцать первое
YГод
I(большое И) или l(маленькое ель)Час, 12 часовой форматчас, два, три, ..., двенадцать
HЧас, 24 часовой формат?, час, два, ..., двадцать четыре
kЧас, 24 часовой формат?, час, два, три, ..., двадцать четыре
MМинуты?, одна, две, ... пятьдесят девять
m (только CVS HEAD)Номер месяцаПроизносит номер месяца (первый - двенадцатый)
P или pAM или PMay em / pee em
QДата"today", "yesterday" or ABdY
qДата"" (for today), "yesterday", weekday, or ABdY
Rвремя в 24 часовом формате, включая минуты
Sсекунды



Коды возврата:

Возвращает 0, или -1 при разрыве связи.

Пример

SayUnixTime(,EST5EDT,ABdY \'digits/at\' IMp)
Произносит текущее время, используя временную зону:
US Eastern Standard Time или Eastern Daylight Time.

Ссылки по теме:



Asterisk | Файлы конфигурации | План набора: extensions.conf | Список команд