Как конвертировать строку во время?
Как конвертировать строку вида DD/MM/YYYY в дату, чтобы вернуло -1 в случае неудачи? Или как проверить, является ли строка вида DD/MM/YYYY существующей датой?
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
Как конвертировать строку вида DD/MM/YYYY в дату
Для этого существуют две функции:
- Функция strptime() является конвертирующей функцией, дополняющей strftime(3): она преобразует символьную строку, на которую указывает s, сохраняя значения в структуре tm (описывает время в виде компонент, broken-down time) согласно формата, заданного в format.
Если strptime() не может найти все соответствия строке формата, то возникает ошибка и возвращается значение NULL.
- Функция getdate() преобразует строковое представление даты и времени из буфера, на который указывает string в разделённое на компоненты время. Разделённое время сохраняется в структуре tm и указатель на неё возвращается в качестве результата. Структура tm находится в статической области и, таким образом, будет перезаписана при следующих вызовах getdate().
При успешном выполнении getdate() возвращает указатель на struct tm. В противном случае возвращается NULL