Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> стандартный тип в С++ для даты 
V
    Опции темы
ksili
Дата 16.1.2009, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Есть ли в С++ стандартный тип в для даты? Я раньше больше в Билдере писал. В VCL есть свой тип TDateTime. В MFC наверняка тоже есть. 
Но мне надо на чистом C++. Если такой есть, то желательно ещё б узнать названия функций по работе с ним: вытянуть год, месяц, число, преобразовать в строку...


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
W4FhLF
Дата 16.1.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



boost::date_time на чистом си++


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
pan2004
Дата 16.1.2009, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



Стандартный это std::tm объявленный в <ctime>. Это структура хранящая информацию о дате(день, месяц, год, день недели...) и времени. Подробнее смотри на сайте www.cplusplus.com

Добавлено через 1 минуту и 20 секунд
Цитата(W4FhLF @  16.1.2009,  08:33 Найти цитируемый пост)
boost::date_time на чистом си++

Ну буст еще не со всеми компиляторами по умолчанию поставляется, чтобы быть "чистым" C++)


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
ksili
Дата 16.1.2009, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



pan2004, вроде то, что нужно. Только он уменя объявлен в time.h


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
mrbrooks
Дата 16.1.2009, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Цитата(ksili @  16.1.2009,  09:04 Найти цитируемый пост)
Только он уменя объявлен в time.h 

это в С-стиле. Для С++ - ctime. Возможно у тебя старый компилер?

Добавлено через 52 секунды
W4FhLF, boost пока не стандарт  smile 
PM MAIL   Вверх
W4FhLF
Дата 16.1.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(pan2004 @  16.1.2009,  08:55 Найти цитируемый пост)
Ну буст еще не со всеми компиляторами по умолчанию поставляется, чтобы быть "чистым" C++)


Так ведь не сказано, что решение должно быть стандартным. Сказано, что на С++ smile 

Если есть задача много работать с датами, то boost'овский класс очень рулит, там огромный функционал.

Добавлено через 36 секунд
Цитата(ksili @  16.1.2009,  06:26 Найти цитируемый пост)
Есть ли в С++ стандартный тип в для даты?


А, ну теперь вижу. smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ksili
Дата 16.1.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



У меня MS VS 2005. пишу tm, в контекстном меню выбираю Go To Declaration. Открывается time.h


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
mrbrooks
Дата 16.1.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Цитата(ksili @  16.1.2009,  09:56 Найти цитируемый пост)
У меня MS VS 2005. пишу tm, в контекстном меню выбираю Go To Declaration. Открывается time.h 

ничего удивительного в этом нет. просто ctime - это виртуальный файл заголовков, а time.h - физический. ctime собственно и ссылается на time.h. но использование виртуального файла заголовков существенно ускоряет компиляцию программы. 
PM MAIL   Вверх
ksili
Дата 16.1.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(mrbrooks @  16.1.2009,  14:14 Найти цитируемый пост)
использование виртуального файла заголовков существенно ускоряет компиляцию программы. 

я ни time, ни ctime нигде не объявлял, но все равно компилится. Если я напишу #include <ctime> станет быстрее компилится, или виртуальный файл заголовков используется по-умолчанию?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
mrbrooks
Дата 16.1.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



у меня M$ VS 2008. tm также определяется без подключения ctime (time.h) и др. переменные (time_t и прочие) - ибо описаны они в wchar.h (у меня)- а вот функционал будет доступен только после подключения  ctime (time.h).
Цитата(ksili @  16.1.2009,  10:30 Найти цитируемый пост)
Если я напишу #include <ctime> станет быстрее компилится, 

по идее да. сам не замерял и не проверял.
Цитата(ksili @  16.1.2009,  10:30 Найти цитируемый пост)
или виртуальный файл заголовков используется по-умолчанию?

не думаю.
PM MAIL   Вверх
pan2004
Дата 16.1.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 2
Всего: 9



Цитата(ksili @  16.1.2009,  10:30 Найти цитируемый пост)
я ни time, ни ctime нигде не объявлял, но все равно компилится

Значит какой-то другой заголовочный файл, который ты используешь, подключает ctime(time.h)


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
Kallikanzarid
Дата 16.1.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: 2
Всего: 3



mrbrooks, когда я в последний раз проверял, ctime был вполне физическим файлом  smile
PM MAIL   Вверх
mrbrooks
Дата 16.1.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



Цитата(Kallikanzarid @  16.1.2009,  12:30 Найти цитируемый пост)
mrbrooks, когда я в последний раз проверял, ctime был вполне физическим файлом  smile 

терминологию не я придумал  smile 
PM MAIL   Вверх
bsa
Дата 16.1.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(ksili @ 16.1.2009,  10:30)
Если я напишу #include <ctime> станет быстрее компилится, или виртуальный файл заголовков используется по-умолчанию?

ты обязан написать этот инклюд, чтобы пользоваться std::tm, в противном случае ты подложишь большую свинью тем, кто будет работать с этим файлом в будущем - совсем не обязательно tm будет определяться в подключенных уже хидерах.
PM   Вверх
ksili
Дата 16.1.2009, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



bsa, учту.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.