The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

getdate_r (3)
  • >> getdate_r (3) ( Русские man: Библиотечные вызовы )
  • getdate_r (3) ( Linux man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    getdate() - преобразовать строку в структуру tm
     

    СИНТАКСИС

    #define _XOPEN_SOURCE
    #define _XOPEN_SOURCE_EXTENDED
    #include <time.h>

    struct tm *getdate (const char *string);

    extern int getdate_err;

    #define _GNU_SOURCE
    #include <time.h>

    int getdate_r (const char *string, struct tm *res);
     

    ОПИСАНИЕ

    Функция getdate() преобразует строку, на которую указывает string в структуру tm, которую затем и возвращает. Эта структура находится в статической области и, таким образом, будет перезаписана при следующем вызове.

    В отличие от strptime(3), (которая имеет аргумент format), функция getdate() использует форматы, содержащиеся в файле, полный путь к которому содержится в переменной окружения DATEMSK. Первая строка файла, которая совпадает с полученной входной строкой, будет использована для преобразования.

    Проверка на совпадение производится без учета регистра.

    Лишние пробелы как в шаблоне, так и в преобразуемой строке игнорируются.

    Дескрипторы преобразования, которые могут быть указаны в шаблоне, соответствуют используемым с strptime(3). Кроме того, понимается еще один дескриптор:

    %Z
    Имя временной зоны.

    Если указано %Z, то возвращаемое значение будет установлено в соответствие со временем указанной временной зоны. В противном случае, оно будет установленов соответствие с текущим местным временем.

    Если указан только день недели, то берется ближайший день, начиная с сегодня и далее, который соответствует этому дню недели.

    Если указан только месяц (и не указан год), то берется первый месяц, эквивалентный заданному, начиная с текущего месяца и далее. Если не указан день, то это будет первый день месяца.

    Если не указаны часы, минуты и секунды, то берется текущий час, минута и секунда.

    Если не указана дата, но мы знаем час, то будет взят первый час, равный заданному, начиная с текущего часа.  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    При удачно завершении функция возвращает указатель на структуру struct tm. В противном случае она возвращает NULL, и устанавливает значение глобальной переменной getdate_err. Как изменяется errno не указано. Определены следующие значения getdate_err:
    1
    Переменная окружения DATEMSK пуста или не существует.
    2
    Файл шаблонов не может быть открыт на чтение.
    3
    Не удалось получить информацию о состоянии файла.
    4
    Файл шаблонов не является обычным файлом.
    5
    Произошла ошибка при чтении файла шаблонов.
    6
    Не удалось выделить память (недостаточно паямти)
    7
    В файле нет строки, совпавшей с входной.
    8
    Неверная спецификация входной строки.
     

    ЗАМЕЧАНИЯ

    Так как getdate() нереентрантна из-за использования getdate_err и статического буфера для возврата значения, то glibc предоставляет безопасную с точки зрения подпроцессов альтернативу. Функциональность та же. Результат возвращается в буфере, на который указывает res. В случае ошибки, возвращаемое значение не равно нулю, с теми же значениями, что приведены выше для getdate_err.

    Стандарт POSIX 1003.1-2001 содержит для strptime() дескрипторы преобразования с использованием модификатора %E или %O, в то время как такие дескрипторы не указаны для getdate(). В glibc getdate() реализована с помощью strptime(), таким образом все возможные преобразования в точности совпадают.

    В glibc не поддерживается дескриптор преобразования %Z.  

    ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

    DATEMSK
    Файл, содержащий шаблоны форматирования.
    TZ, LC_TIME
    Переменные, используемые strptime().
     

    СООТВЕТСТВИЕ СТАНДАРТАМ

    ISO 9899, POSIX 1003.1-2001  

    СМ. ТАКЖЕ

    localtime(3), strftime(3), strptime(3), time(3)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    ЗАМЕЧАНИЯ
    ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру