• Авторизация


Работа со временем в C++ под Windows 26-03-2007 22:00 к комментариям - к полной версии - понравилось!


В колонках играет - Incubus - I Miss You
Настроение сейчас - totally depressed, hell on ya

Итак, погнали.
Сегодня меня спросили, как реализовать работу со временем под окошками.


Во-первых, нужно подключить библиотеку time.h
code:
#include <time.h>

А дальше... дальше - дело вкуса.
Для примера накидал аналог юниксового sleep():
code:

void sleep(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}


Также можно использовать функции _strdate() and _strtime().
Вот пример программы, печатающей текущие дату и время:
code:

int main()
{
char dateStr [9];
char timeStr [9];
_strdate( dateStr);
printf( "The current date is %s \n", dateStr);
_strtime( timeStr );
printf( "The current time is %s \n", timeStr);
return 0;
}


Но это еще не все.
Существует 5 различных форматов времени в виндах. Системное время, файловое время, локальное время, MS-DOS и Windows.
Есть замечательная системная структура SYSTEMTIME.
code:

typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME;


А вот и пример использования этой структуры:
code:

#include <Windows.h>
#include <stdio.h>

int main()
{
SYSTEMTIME st;
GetSystemTime(&st);
printf("Year:%d\nMonth:%d\nDate:%d\nHour:%d\nMin:%d\nSecond:%d\n" ,st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
return 0;
}



вверх^ к полной версии понравилось! в evernote
Комментарии (2):
_twinka_ 26-03-2007-22:05 удалить
спасибо, пригодится=)


Комментарии (2): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Работа со временем в C++ под Windows | Bhaal - Здесь укоренилось древнее зло | Лента друзей Bhaal / Полная версия Добавить в друзья Страницы: раньше»