UWP C ++ / CX:当前系统时间和秒表

时间:2019-03-10 05:06:01

标签: c++ time uwp uwp-xaml systemtime

因此,我正在创建一个C ++ 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 Forms 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-developer.net/windows-iot/uwp-programming-in-c/timer-and-timing/stopwatch不是用于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 ++的文档很少,所以我不知道在哪里找到答案。

0 个答案:

没有答案