[C ++ Int到没有外部库的任何日期

问题描述 投票:1回答:2

我需要将某些integers转换为date。首先,我确实知道Boost :: Gregorian库,但是我不能使用它,因为它无法与Clang一起编译,这是我的应用程序获得最佳性能的地方。

我正在解析原始数据库文件,因此性能将很重要,因为转换将发生数十万次以表示出生日期,时间戳记,约会时间等。

根据解析的数据库,我有几个不同的原始日期。我使用的原始日期是:

System 1: 1706-02-24
System 2: 1840-01-01

我以这种方式尝试过,但是当我尝试将其打印出来时,出现错误消息timeinfo2为null:

time_t rawtime;
struct tm* timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
timeinfo->tm_year = 1706 - 1900;
timeinfo->tm_mon = 2 - 1;
timeinfo->tm_mday = 24;
timeinfo->tm_mday += 98040; // days since origin

time_t newtime;

struct tm* timeinfo2;
newtime = mktime(timeinfo);
timeinfo2 = localtime(&newtime);

结果应为:1968-08-12

我需要将一些整数转换为日期。首先,我确实知道Boost :: Gregorian库,但是我无法使用它,因为它无法与Clang一起编译,这是我的应用程序获得最佳效果的地方...

c++ date gregorian-calendar
2个回答

0
投票

我非常尊重Howard编写的内容,但是我需要尽快执行的内容,并且担心当我需要的是<chrono>int时包括整个日期库。

© www.soinside.com 2019 - 2024. All rights reserved.