如何在c ++中比较用户日期和系统日期?

时间:2015-01-22 18:28:41

标签: c++ date

我已经以DD / MM / YEAR格式从用户那里获取了日期,但我想将其与系统日期进行比较,并想知道用户输入的日期是将来还是过去!!

#include <iostream>
#include <ctime>

int main ()
{      
    char date [10],sysdate[10];
    cout<<"enter Date";           
    cin>>date;                   //for taking date from user
    _strdate(sysdate);      //for getting system date(given in DD/MM/YY    
    cout<< sysdate;        //prints system date    
}

2 个答案:

答案 0 :(得分:0)

如果您严格处理日期字符串(而不是日期time_t时间戳或日期tm结构),那么您可以直接比较格式"YY/MM/DD"的日期字符串以确定是否有一个来自另一个之前或之后。

您使用的格式("DD/MM/YY")不允许进行此类直接字符串比较。

答案 1 :(得分:0)

观看这个例子然后就不难了 将用户日期与系统日期进行比较

#include <iostream>
#include <ctime>

using namespace std;

int main( )
{
   // current date/time based on current system
   time_t now = time(0);


   tm *ltm = localtime(&now);

   // print various components of tm structure.
   cout << "Year: "<< 1900 + ltm->tm_year << endl;
   cout << "Month: "<< 1 + ltm->tm_mon<< endl;
   cout << "Day: "<<  ltm->tm_mday << endl;

  }