С++ time() localtime() как вывести текущее время или дату

 

Программа отображает на экране текущее время:

 

#include <ctime>
#include <iostream>
using namespace std;
int main ()
{
    tm *pp; // получаем указатель на структуру ТМ
    time_t ttt; // переменная ттт будет типа time_t чтобы записать в нее таймкод и использовать в функии локалтайм
    ttt = time('\0'); // получаем временную метку
    pp = localtime (&ttt); // получаем указатель на поэлементную форму параметра временной метку (curtime) представленную в виде структуры tm
    cout << pp->tm_hour<<':'<<pp->tm_min<<':'<<pp->tm_sec;
    return 0;
}

 

Мы используем указатель на структуру tm, которая имеет вид:

struct tm {

 int tm_sec;

 int tm_min;

 int tm_hour;

 int tm_mday;

 int tm_mon;

 int tm_year;

}

 

Функция localtime() преобразует временную метку  в поэлементное, прототип:

 

struct tm *localtime (const time_t *curtime);

 

Мы должны этой функции передать временную метку в ФОРМАТЕ ТИПА time_t

Так как стоит звездочка, мы должны передать адрес начала этой временной метки, поэтому ставим оператор &

 

ํНа выходе функции мы получаем указатель на структуру.

 

Вывод даты в текстовом формате:

 

Если добавить в конец предыдущей программы строчку

cout << '\n' << asctime (pp);

 

То получим дату: Wed Oct 24 12:57:11 2018

 

Функция asctime() возвращает указатель на строку, которая содержит результат преобразования информации, хранимой по адресу струкуры рр (в нашем случае).

 

Прототип:

 

char *asctime(const struct tm *ptr);



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы