c++ - 如何在C++中的某个变量中存储日期

标签 c++

#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)。 我想将这个日期存储在某个变量中并打印以供进一步处理。因为在我的下一个查询中我需要将这个日期作为变量传递。 我尝试将其转换为 double 或 int,例如:

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

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

最佳答案

我假设您将日期作为字符串 2014-01-10atoi()在“-”符号处剪掉它。

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 是哪种数据类型。

关于c++ - 如何在C++中的某个变量中存储日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21622993/

相关文章:

c++ - 格式化 .txt 文件中的字符串 (C++)

c++ - 分离轴定理: rotation around center of mass

c++ - MFC:如何更改整个编辑框的背景颜色?

c++ - 如果 C++ 中不存在文件夹,如何创建文件夹?

c++ - 如何追踪 "double free or corruption"错误

c++ - 对 vector 字符串进行单元测试

java - C++ 和 Java 之间的低延迟 IPC

c++ - grpc 找不到 protobuf 库

c++ - 我的程序控制台输出中出现未知的 ascii 代码字符

c++ - 将类添加到 C++ 项目