Команда 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 или p | AM или PM | ay 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.
Ссылки по теме:
- система синтеза речи Festival
- Звуковые файлы Asterisk
- Настройка многоязыковой поддержки в Asterisk
- Команда DateTime: Устаревшая версия этой команды
Asterisk | Файлы конфигурации | План набора: extensions.conf | Список команд