📄 ep5_10.cpp
字号:
/* 5.10 头文件<ctime>中定义一个日期时间的结构:
struct tm{
int tm_sec; //秒
int tm_min; //分
int tm_hour; //时
int tm_mday; //日
int tm_mon; //月
int tm_year; //年,实际放的是与1970年的差,如1990年为20
int tm_wday; //星期
int tm_yday; //一年中的第几天
int tm_isdst; //是否夏时制
};
函数 time_t time(time_t *tp)是提取当前时间,time_t即长整型,代表从1970年1月1日00:00:00
开始计算的秒数(格林尼治时间),放在首地址为tp的单元内。
函数 tm *localtime(const time_t *tp) 将tp地址单元中的时间转换为日期时间结构的当地时间;
(函数 tm *gmtime(const time_t *tp)转换为日期时间结构的格林尼治时间;)
函数 char *asctime(tm *tb)将tb地址单元中的tm结构的日期时间转换为字符串(供显示),
它有固有格式,如:
Sun Sep 16 01:03:52 1973
利用以上资源,重新设计一个日期时间类(DataTime),要求定义对象时取当前时间进行初始化,
显示时重取显示时刻的时间并显示出来。
*/
#include<iostream>
#include<ctime>
using namespace std;
class datatime{
tm *timedata;
long allsecond;
char *tmp;
public:
datatime(){
time(&allsecond);
timedata=localtime(&allsecond);
tmp=asctime(timedata);
cout<<tmp<<endl;
}
void gettime(){
allsecond=time(NULL);//time有两种用法
timedata=localtime(&allsecond);
tmp=asctime(timedata);
cout<<tmp<<endl;
}
};
int main(){
char ch;
datatime dt;
cout<<"需要知道现在的日期和时间吗?(Y或N)"<<endl;
cin>>ch;
if(ch=='y'||ch=='Y') dt.gettime();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -