我如何比较日期
How do i compare dates?
我有字符串类型中的日期,然后我需要比较这两个日期
我已经尝试过,但它向我显示了奇怪的输出
string str="2019-1-12";
string str1="2019-1-13";
tm timeDate;
tm timeDate1;
strptime(str.c_str(),"%Y-%m-%d ", &timeDate);
time_t time_input = mktime(&timeDate);
strptime(str1.c_str(),"%Y-%m-%d ", &timeDate1);
time_t time_input1 = mktime(&timeDate1);
double timeDiff = difftime(time_input,time_input1);
cout<<timeDiff;
使它
tm timeDate = {};
tm timeDate1 = {};
换句话说,在strptime
调用之前,将tm
结构的所有成员初始化为零。strptime
仅填充有格式指定符的成员;其余的仍然是垃圾。
随着此更改,您的代码工作
小于比另一个日期
的希瑟
当您的日期是" yyyy-mm-dd"格式的字符串时,这是一种特殊情况,在这种情况下,字符串的操作员的结果与假设日期类别不如操作员相同的结果。这是因为日期存储在"大恩德尼"格式中,日期中的每个数字也为"大元素"。
字符串比运算符少于一个单一的字符比较一个,如果一个字符比另一个字符小于另一个字符,则是整个比较的结果。
您唯一需要做的是确保您的月和日字段每个字符是两个字符(如果它们是一个字符,则在前面零(,然后比较字符串。
cout << (str < str1) << 'n';
同上的平等比较。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么比较运算符如此快速
- 查询SQLite数据库中的日期
- Rcpp/C++/R:比较日期时间矢量与日期时间时出错(错误:"运算符>"的不明确重载)
- 我如何比较日期
- C++日期比较并不总是计算出相同的逻辑值
- 在 c++ 中比较 2 个日期
- 如何比较C++中的两个日期
- 比较日期c++(使用boost)
- 如何在 c++ 中将用户日期与系统日期进行比较
- 两个对象之间的日期比较
- 如何使用速推库比较两个单独的日期
- 视觉C++:比较日期
- 以格式化的方式打开一个具有日期的文件,并获取该日期进行比较
- visual如何在C++中比较两个日期
- C++与字符串日期进行比较
- PostgreSQL和c++ -比较日期
- 如何比较程序中的两个日期
- C++-比较两个日期
- 比较来自字符串、char*或int的两个日期