Allin |
Отправлено: 14.10.2006, 13:13 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Подскажите пожалуйста, как можнопрограммно изменить системные время и дату. В моём случае нужно изменять только время.
|
|
olegenty |
Отправлено: 14.10.2006, 13:21 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
BOOL SetSystemTime(
CONST SYSTEMTIME *lpSystemTime // address of system time to set
);
|
|
Arsa |
Отправлено: 14.10.2006, 14:09 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 77
|
CODE | _SYSTEMTIME date;
GetSystemTime(&date);
WORD hour = 0, minute = 37, second = 16, msecond = 13;
date.wHour = hour;
date.wMinute = minute;
date.wSecond = second;
date.wMilliseconds = msecond;
SetSystemTime(&date); |
Только с часами разберешься, а то ... сам, впрочем, увидишь! |
|
Allin |
Отправлено: 14.10.2006, 14:15 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Большое спасибо. Запутался только с этим гринвичем
Делаю так:
CODE |
int hours=14;
int minuts=25;
int seconds=40;
GetSystemTime(&NewTime);
NewTime.wHour=hours;
NewTime.wMinute=minuts;
NewTime.wSecond=seconds;
SetSystemTime(&NewTime);
|
Часы устанавливаются равными 17. Это понятно, потому что у меня часовой пояс +2. Но как сделать чтобы время ставилось из переменной независимо от часового пояса. Один человек в Украине, другой во Владивостоке???
|
|
olegenty |
Отправлено: 14.10.2006, 14:23 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
BOOL SetTimeZoneInformation(
CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation // address of time-zone settings
);
|
|
Allin |
Отправлено: 14.10.2006, 14:23 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Спасибо всем за участие в моем вопросе. Теперь разобрался.
Отредактировано Allin — 14.10.2006, 15:25
|
|
Allin |
Отправлено: 14.10.2006, 16:13 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Так уже я и разобрался. Запутался напрочь. Происходит какое-то навождение уже на новую тему. Но может подскажите в этой. Пытался сделать что-то с помощью SetTimeZoneInformation(). Именно что-то. Теперь обнаружил, что не только это не получается.
Изначально код такой:
CODE |
SYSTEMTIME NewTime;
int hours=14;
int minuts=25;
int seconds=40;
GetSystemTime(&NewTime);
NewTime.wHour=hours;
NewTime.wMinute=minuts;
NewTime.wSecond=seconds;
SetSystemTime(&NewTime);
|
При изменении системного времени меняется на 17:25:40
поменял код на
CODE |
SYSTEMTIME NewTime;
int hours=14;
int minuts=45;
int seconds=40;
GetSystemTime(&NewTime);
NewTime.wHour=hours;
NewTime.wMinute=minuts;
NewTime.wSecond=seconds;
SetSystemTime(&NewTime);
|
При изменении системного времени всё равно меняется на 17:25:40
Со злости вообще всё выкинул. Оставил только
CODE |
SYSTEMTIME NewTime;
SetSystemTime(&NewTime);
|
все равно время меняется на 17:25:40
Что это? У меня даже догадок нет.
|
|
Allin |
Отправлено: 14.10.2006, 16:30 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31
|
Всё, прошу прощения. Теперь точно всё получилось.
|
|