The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Работа со временев Linux &FreeBSD посредством c++"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от weldpua2008 email(ok) on 26-Июл-07, 22:24 
Привет всем
Вопрос такой - как в с++ под Linux &FreeBSD работать со временем.
Смотрел гугл, но он ничего не подсказал, смотрел всякие time.h на своем linux'е но так как в с++ слаб то ответа не нашел.В книге что у меня по с++ так же этого нет :(

Все что нужно - получение в переменные:
год,
месяц,
день,
час,
минута.

Причем текущие значения...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от elvenic (??) on 26-Июл-07, 22:40 
>[оверквотинг удален]
>
>
>Все что нужно - получение в переменные:
>год,
>месяц,
>день,
>час,
>минута.
>
>Причем текущие значения...

Вообще-то, RTFM ;)

    man 3 time
    man 3 localtime
    man 3 gmtime

А в частности: time() возврашает количецтво секунд с 1970-го года (в UTC), localtime()/gmtime() переводит их в формат структуры struct tm, в которой есть поля tm_sec, tm_hour, tm_mday, tm_mon, tm_year (localtime() переводит в локальной timezone, а gmtime() - в UTC).


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от weldpua2008 email(ok) on 26-Июл-07, 23:04 
А не затруднит пример?
Просто Я дуб-дубом...


#include <time.h>

Пробую так
//31// tm* ttt;
//32// time_t* ttt1;
//34// ttt1=time(NULL);
//36// ttt=gmtime(time(ttt1));


./simple1.cpp: In function ‘int main(int, char**)’:
./simple1.cpp:34: error: invalid conversion from ‘time_t’ to ‘time_t*’
./simple1.cpp:36: error: invalid conversion from ‘time_t’ to ‘const time_t*’
./simple1.cpp:36: error:   initializing argument 1 of ‘tm* gmtime(const time_t*)’

Пробую так
//31// tm ttt;
//32// time_t ttt1;
//34// ttt1=time(NULL);
//36// ttt=gmtime(time(ttt1));


./simple1.cpp:36: error: invalid conversion from ‘time_t’ to ‘time_t*’
./simple1.cpp:36: error:   initializing argument 1 of ‘time_t time(time_t*)’
./simple1.cpp:36: error: invalid conversion from ‘time_t’ to ‘const time_t*’
./simple1.cpp:36: error:   initializing argument 1 of ‘tm* gmtime(const time_t*)’
./simple1.cpp:36: error: no match for ‘operator=’ in ‘ttt = gmtime(((const time_t*)time(((time_t*)ttt1))))’
/usr/include/time.h:135: note: candidates are: tm& tm::operator=(const tm&)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от weldpua2008 email(ok) on 26-Июл-07, 23:19 
Нашел работающий пример

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
   time_t t;
   struct tm *gmt,*area;
   t = time(NULL);
   area = localtime(&t);
   printf("Локальное время:%s\n",asctime(area));
   gmt = gmtime(&t);
   printf("GMT:%s\n",asctime(gmt));
   return 0;
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от phpcoder email(??) on 27-Июл-07, 12:57 
Вот мой примерчик:

[c0der@rock ~/c]$ cat times.c
#include <stdio.h>          
#include <time.h>

int main(void) {
struct tm *times;
time_t now;

now = time(NULL);
times = localtime(&now);

printf("На дворе:\n"
       "Год: %d\n"
       "Месяц: %d\n"
       "День: %d\n"
       "Час: %d\n"
       "Минута: %d\n"
       "Секунда: %d\n",
       times->tm_year + 1900,
       times->tm_mon + 1,
       times->tm_mday,
       times->tm_hour,
       times->tm_min,
       times->tm_sec);

return 0;
}
[c0der@rock ~/c]$
[c0der@rock ~/c]$ ./times
На дворе:
Год: 2007
Месяц: 7
День: 27
Час: 15
Минута: 55
Секунда: 19
[c0der@rock ~/c]$

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от weldpua2008 email(??) on 27-Июл-07, 15:13 
Спасибо!!!!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от sandy (ok) on 30-Июл-07, 14:38 
Если на С++, то я когда-то писал свой класс для работы с датами/временем. И где-то на этом форуме уже об этом сообщал. Если интересно, - могу выложить


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от valare email on 31-Июл-07, 19:14 
>И где-то на этом форуме уже об этом сообщал. Если
>интересно, - могу выложить

Лишним, знание не бывает :)

Кидай


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от sandy (??) on 02-Авг-07, 14:58 
>>И где-то на этом форуме уже об этом сообщал. Если
>>интересно, - могу выложить
>
>Лишним, знание не бывает :)
>
>Кидай

Куда?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от weldpua2008 email(ok) on 02-Авг-07, 22:30 
>>>И где-то на этом форуме уже об этом сообщал. Если
>>>интересно, - могу выложить
>>
>>Лишним, знание не бывает :)
>>
>>Кидай
>
>Куда?

Сюда или на valeranew!!!@!!!ukr.net

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Работа со временев Linux &FreeBSD посредством c++"  
Сообщение от dronord (ok) on 03-Авг-07, 10:48 
Хорошее API есть в boost: http://boost.org/doc/html/date_time.html
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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