Уважаемые коллеги!
Производственная необходимость просит написать текущее время за минусом 10 минут и у меня не очень-то получается. Напомню, что получают время примерно так:
#include "stdafx.h"
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
SYSTEMTIME st, lt;
GetSystemTime(&st);
GetLocalTime(<);
double dm = st.wMinute - 5; //за минусом 5 минут
double dm1 = lt.wMinute - 5; //за минусом 5 минут
//Просто вывод времени
printf("The system time is: %02d:%02d
", st.wHour, st.wMinute);
printf(" The local time is: %02d:%02d
", lt.wHour, lt.wMinute);
//Новое время для моего проекта.
printf("The system time is: %02d:%02d
", st.wHour, dm);
printf(" The local time is: %02d:%02d
", lt.wHour, dm1);
system("PAUSE");
return 0;
}
Output:
The system time is: 09:24
The local time is: 12:24
The NEW system time is: 09:00
The NEW local time is: 12:00
Вполне очевидно что третья и четвёртая строка нас не могут удовлетворить.
Как грамотно исправить это безобразие?
Ответ
Чувствую, что намеки в комментариях не помогают...
Начните со строк
double dm = st.wMinute - 5; //за минусом 5 минут
double dm1 = lt.wMinute - 5; //за минусом 5 минут
Замените их строками
int dm = st.wMinute - 5; //за минусом 5 минут
int dm1 = lt.wMinute - 5; //за минусом 5 минут
Дальше будут другие проблемы - когда эта разность окажется отрицательной... но это уже немного другой вопрос.
Комментариев нет:
Отправить комментарий