如何在 C++ 中的某个变量中存储 Date

how to store Date in some variable in c++

本文关键字:变量 存储 Date C++      更新时间:2023-10-16
#include <iostream>
#include </usr/local/include/mysql++/mysql++.h>
#include "/usr/local/include/mysql++/cmdline.h"
#include </usr/include/mysql/mysql_version.h>
int main(){
if(conn1.connect(db1, server, username, pass))
{
mysqlpp::Query query = conn1.query("SELECT * FROM `table` WHERE FIND_IN_SET('"+strzipcode+"',`Zipcodes`);");
if (mysqlpp::StoreQueryResult res1 =query.store())
{
cout << "We have:"<<endl;
for (size_t i= 0; i < res1.num_rows();i++)
{
cout<<res1[i][0]<<endl;
}
}
return 0;
}

这里 res1[i][0] 给了我存储在数据库中的日期 (2014-01-10)。 我想将此日期存储在某个变量中并打印以供进一步处理.因为在我的下一个查询中,我需要将此日期作为变量传递. 我尝试过将其转换为双精度或整数,例如:

int dateStart =atoi(res1[i][1]);
cout << "DateStart :"<<dateStart << endl;

但这给我的输出只有 2014 年而不是2014-01-10。 由于我是C ++的新手,我需要您的帮助。提前致谢

我假设您将日期作为字符串2014-01-10获取,atoi()将其剪切在"-"符号处。

std::string date;
res1[i][1].to_string(date);
int  year = atoi(date.substr(0,4));
int  month = atoi(date.substr(5,2));
int  day = atoi(date.substr(8,2));

当然还有#include <string>我认为日期格式也有更优雅的解决方案。

更新:好的,如果足以处理字符串中的日期并且您对组件不感兴趣,则需要告诉我们,哪种数据类型res1。

不知道你正在使用的库,从我所看到的,我猜

res[][]

是一个字符串数组,因此您可以通过字符"-"拆分字符串并将值存储到三个单独的变量中(或者更好的结构,或者您想要的任何变量)。

但是,我确信有更好的方法来处理此类数据,我建议您检查文档以查看是否有办法获取双精度或长整型查询。