C++获取当前时间(附加修改时间功能)

利用C++实现以下功能:

1.获取当前时间

2.可设置时间

3.可执行天数加一的操作

代码如下:


#include <iostream>
#include<ctime>
#include<cstdio>
#include<time.h>
using namespace std;

class Date {
public:
    void _gettime();   //获取当前时间
    void _entrance(int Year, int month, int day);  //输入函数
    void _exit();      //输出函数
    void change();     //执行加一天操作
    void clear();                                //清屏
private:
    int year;
    int month;
    int day;
};

void Date::_gettime()
{
    struct tm  p;    //新时间结构体
    const time_t t = time(NULL);  //获取系统时间,需传入time_t类型的变量地址
    localtime_s(&p, &t);
    printf("当前时间为:%d/%d/%d", p.tm_mday, p.tm_mon + 1, p.tm_year + 1900);
}

void Date::_entrance(int Day, int Month, int Year)
{
    year = Year;
    month = Month;
    day = Day;
}

void Date::_exit()
{
    printf("%d/%d/%d", day, month, year);
}

void Date::change()            //加一天
{
    int a[13] = { 29,31,28,31,30,31,30,31,31,30,31,30,31 };
    if ((year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) && month == 2 && day == 28)   //闰年二月份有29天
        day++;
    else if (a[month] <= day && month != 12) {      //满天数进一
        month++;
        day = 1;
    }
    else if (a[month] <= day && month == 12) {     //满月数年进一
        month = 1;
        day = 1;
    }
    else
    {
        day++;
    }
}

void Date::clear()
{
    system("cls");
}

int main()
{
    Date date;
    int a = 0, b = 0, c = 0;
    date._gettime();
    cout << endl;
    cout << "输入当前时间(格式-日月年):";
    cin >> a >> b >> c;
    date._entrance(a, b, c);
    date._exit();
    cout << endl;
    cout << "若执行加一天操作请按1" << endl;
    int d = 0;
    cin >> d;
    if (d == 1)
    {
        date.change();
        date._exit();
    }
}


版权声明:本文为qq_62933631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。