gpt4 book ai didi

C++判断当天软件是否未打开(Win​​dows)

转载 作者:可可西里 更新时间:2023-11-01 10:58:10 25 4
gpt4 key购买 nike

因此,如果软件没有在同一天打开,我需要执行一些操作我的计划是将今天日期的纪元以来的天数存储在我的数据库中。然后,当软件打开时,它将从数据库中提取自上次纪元以来的天数,然后将其与自上次纪元以来的今天天数进行核对。这样我就知道是否是同一天。

我对 C++ 非常缺乏经验,我一直在查看“stdafx.h”中的 DateTime 函数,但是我无法获得自上一个纪元以来的天数。

因此,如果这是今天第一次打开该软件,我这样做的目标是清除数据库。如果今天已经打开了,那就继续,什么都不做。

我不知道如何在 C++ 中处理这个问题。如果它是 python 或 C# 或 java 我不会遇到这个问题。那么我将如何在 C++ 中解决这个问题?

最佳答案

使用 <chrono>标准标题,很容易获得自时钟纪元以来的天数。例如:

#include <chrono>
#include <iostream>

int main() {
using days = std::chrono::duration<int, std::ratio<24 * 60 * 60>>;

auto days_since_epoch = std::chrono::duration_cast<days>(std::chrono::system_clock::now().time_since_epoch());

std::cout << days_since_epoch.count() << "\n";
}

我认为实现可以自由使用任何 epoch,但如果你只关心连续调用天数的差异,你应该没问题。

请注意,由于我们基本上是四舍五入到他们一天的开始,如果您的用户在 23:59 打开您的应用程序一次,然后在一分钟后再次打开,您会认为一个日历日已经过去。

关于C++判断当天软件是否未打开(Win​​dows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com