Страница 1 из 1

Стандартный класс Даты(Всмысле число)

Добавлено: 09 окт 2007, 18:29
Vladimir89
Не подскажите стандартный класс (в Микрософт Визуал Си++) который позволяет проводить АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ с датой (тоесть сложение, приравнивание и вывод).
Помогите пожалуйста!

p.s. примерчик как им пользоваться... или хотябы ссылочку на пример... почему в Визуале такой тупой хелп? =(

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 10 окт 2007, 12:55
WinMain
Для этого COleDateTime вполне подходит.

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 10 окт 2007, 17:05
Vladimir89
А пример его использование можешь привести? :)

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 13 окт 2007, 23:11
Vladimir89
А никто не знает как эт оможно при помощи хедера Ctime организовать? Помогите плиз!

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 13 окт 2007, 23:56
Vladimir89
Я всеже посидел час в хелпе и разобрался что для этого класса операции + и - не предусмотрены =( У кого еще есть идеи?

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 14 окт 2007, 15:07
WinMain
Принцип математических операций с датой и временем состоит в том, чтобы сначала преобразовать дату и время в некое число, соответствующее числу дней (секунд или микросекунд), прошедших с определённого момента. Потом с этим числом выполняются нужные математические операции, а затем результат преобразуется снова в дату и время. Если взять за основу величину VariantTime, то это число типа double, где целая часть обозначает количество дней, прошедших (если я не ошибаюсь) с 1 января 1900 года. Дробная часть обозначает текущую часть суток. Т.е. 0.5 означает 12:00 по полудню, 0.75 - соответственно 18:00, и т.д. Для преобразования значений даты и времени в число и обратно есть функции SystemTimeToVariantTime() и VariantTimeToSystemTime().
Класс COleDateTime реализован на этих функциях.

Re: Стандартный класс Даты(Всмысле число)

Добавлено: 14 окт 2007, 16:18
Vladimir89
А почему тоже самое нельзя сделать припомощи ctime? Ведь там даже проще получиться.