|
|
|
| Есть ли в стандартной библиотеке С++ удобный тип или класс для работы с датами? | |
|
|
|
|
|
|
|
для: Aeriss
(27.02.2007 в 20:50)
| | Нет.
PS Под удобным что имеется в виду? | |
|
|
|
|
|
|
|
для: cheops
(28.02.2007 в 00:51)
| | Имеется в виду, что не охота руками писать вычисление дня недели по дате, проверку допустимости даты и т.д. Но почему же нет? А struct tm? | |
|
|
|
|
|
|
|
для: Aeriss
(28.02.2007 в 21:14)
| | tm - часть стандартной библиотеки C. | |
|
|
|
|
|
|
|
для: cheops
(28.02.2007 в 22:36)
| | А не подскажете, как мне, используя tm, по дате получить номер дня недели? | |
|
|
|
|
|
|
|
для: Aeriss
(01.03.2007 в 01:24)
| | Обращайтесь к полю tm_wday структуры tm
Правда следует иметь в виду, что на Западе неделя начинается с воскресенья, а не с понедельника как у нас. А нумерация дней недели в поле tm_wday начинается с 0 (воскресенье) и заканчивается 6 (суббота). | |
|
|
|
|
|
|
|
для: cheops
(01.03.2007 в 03:01)
| | Это понятно, но если вручную записать в tm день, месяц и год, то поле tm_wday остается неинициализированным. Видимо, нужна конвертирующая функция. Есть функция strptime, но компилятор Visual Studio ее почему-то не находит, хотя <time.h> подключен | |
|
|
|
|
|
|
|
для: Aeriss
(01.03.2007 в 10:33)
| | Лучше использовать UNIXSTAMP-формат - количество секунд, прошедших с полуночи 1 января 1970 года - это естественный программистский стандарт хранения времени, так как очень удобен впрограммировании. Для получения этого значения, с использованием месяца, года и т.п. используется функция mktime(). | |
|
|
|