В колонках играет - 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;
}