Итак, я создаю приложение CW UWP, которое при открытии отображает текущую дату и время. Кроме того, мне нужно также найти способ, чтобы я мог также отображать день недели. Для дня недели я использую этот код:
#include <ctime>
#include <time.h>
#include <chrono>
//under Mainpage::Mainpage()
time_t timeObj = time(nullptr);
tm aTime;
localtime_s(&aTime, &timeObj);
String ^ weekofdayout;
switch (aTime.tm_wday)
{
case 1:
weekofdayout = "Monday";
break;
case 2:
weekofdayout = "Tuesday";
break;
case 3:
weekofdayout = "Wednesday";
break;
case 4:
weekofdayout = "Thursday";
break;
case 5:
weekofdayout = "Friday";
break;
default:
weekofdayout = "(NULL)";
break;
}
timetext->Text += weekofdayout;
Однако всякий раз, когда я запускаю его, текстовое поле возвращает: (NULL) регистр по умолчанию. Я не знаю, что вызвало это.
Я взял системное время, прежде чем успешно в Windows Form C ++ с этим кодом:
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
DateTime datetime = DateTime::Now;
this->label3->Text = datetime.ToString();}
Мне не удалось перенести это на UWP C ++, потому что я думаю, что он использует пространство имен системы. Любые идеи о том, как я мог бы воссоздать тот же эффект в C ++?
Что касается секундомера, я не нашел в Интернете никакой реальной документации относительно секундомера UWP C ++, но нашел: https://iot -develop.net / windows-iot / uwp-program-in-c / timer -и-тайминг / секундомер Это не для C ++ UWP, а для C # UWP. Я попытался создать свой собственный таймер с глобальной функцией, но он просто останавливает программу, пока код не будет запущен:
int seconds = 0;
for (int i = 0; ; i++)
{
seconds++;
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
if (stopwatch == false)
{
break;
}
}
return seconds;
Я довольно озадачен, обычно я могу найти ответ в Интернете, но из-за низкого уровня документации UWP C ++ я не знаю, где найти ответ.