Форум программистов, компьютерный форум CyberForum.ru

Класс Time через time(0) - C++

Восстановить пароль Регистрация
 
Rogov
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
29.08.2013, 13:05     Класс Time через time(0) #1
Всем привет. На форуме искал ничего похожего не нашол.
Не могу до конца разобраться. В класе 1 член, который держит секунды, которые берутся в конструкторе функцией time(0). Нада вывести время(ч:м:с) и дату(д/м/г). С временем розобрался, с годом в дате тоже, но не могу понять как найти день и месяц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2013, 13:05     Класс Time через time(0)
Посмотрите здесь:

класс Time C++
Создать класс Time для работы со временем C++
C++ класс Time
Класс time C++
Создать класс Time C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
29.08.2013, 13:10     Класс Time через time(0) #2
Rogov, показывайте код с временем.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.08.2013, 13:12     Класс Time через time(0) #3
Rogov,
C++
1
2
3
4
5
6
7
std::time_t value = std::time(0);
std::tm* full_time = std::gmtime(&value);
if (full_time)
{
   int month = full_time->tm_mon;
   int day = full_time->tm_mday;
}
Описание std::tm - http://en.cppreference.com/w/cpp/chrono/c/tm
Rogov
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
29.08.2013, 13:25  [ТС]     Класс Time через time(0) #4
ForEveR надо без использования структуры тм и локалтайм. Просто с секунд сделать все остальное.

SatanaXIII

time.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
#define ul unsigned long
class Time
{
public:
    Time();
    void ShowDate()const;
    void ShowTime()const;
    void SetDate();
 
    //+ - 
 
private:
    ul sec_;
};
time.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <ctime>
#include <stdlib.h>
#include "Time.h"
 
using std::endl;
using std::cout;
using std::cin;
 
Time::Time()
{
    sec_ = time(0);
}
 
void Time::ShowDate()const
{
    int d,m,y,temp;
    char* month[] = {"Сiч","Лют","Бер","Квi","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",};
    char* day[] = {"Пн","Вт", "Ср", "Чт", "Пт", "Сб", "Нд",};
 
    y = sec_ / (60 * 60 * 24 * 365) + 1970;
    cout << y;
}
 
void Time::ShowTime()const
{
    int s,m,h;
    s = sec_ % 60;
    m = (sec_ / 60) % 60;
    h = (sec_ /(60*60)) % 24 + 3; //часовий пояс
    cout << h << ':' << m << ':' << s << endl;
}
И еще вопрос не отходя от касы, правильно ли я понимаю что нужно делать поправку на часовой пояс??
C++
1
h = (sec_ /(60*60)) % 24 + 3; //часовий пояс
Rogov
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
03.09.2013, 16:20  [ТС]     Класс Time через time(0) #5
Проблема решена, если кому надо могу залить код
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,332
Завершенные тесты: 1
03.09.2013, 16:26     Класс Time через time(0) #6
Цитата Сообщение от Rogov Посмотреть сообщение
если кому надо могу залить код
Залейте, пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 16:43     Класс Time через time(0)
Еще ссылки по теме:

C++ Создать класс Time
C++ Что за ошибка: "E2015 Ambiguity between 'time' and 'std::time"?
C++ Что за ошибка: "E2015 Ambiguity between 'time' and 'std::time"?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rogov
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
03.09.2013, 16:43  [ТС]     Класс Time через time(0) #7
Исходники
Вложения
Тип файла: rar time.rar (1.7 Кб, 10 просмотров)
Yandex
Объявления
03.09.2013, 16:43     Класс Time через time(0)
Ответ Создать тему
Опции темы

Текущее время: 16:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru