c的日期怎么设置?C日期
c的日期怎么设置?C日期当上面的代码被编译和执行时,它会产生下列结果:#include<iostream>#include<ctime>usingnamespacestd; intmain(){// 基于当前系统的当前日期/时间time_tnow = time(0); // 把 now 转换为字符串形式char* dt = ctime(&now); cout << "本地日期和时间:" << dt << endl; // 把 now 转换为 tm 结构tm *gmtm = gmtime(&now); dt = asctime(gmtm); cout << "UTC 日期和时间:"<< dt << endl;}序号函数 & 描述1time_t time(time_t *time);该
C 标准库没有提供所谓的日期类型。C 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C 程序中引用 <ctime> 头文件。
有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。
结构类型 tm 把日期和时间以 C 结构的形式保存,tm 结构的定义如下:
structtm{inttm_sec; // 秒,正常范围从 0 到 59,但允许至 61inttm_min; // 分,范围从 0 到 59inttm_hour; // 小时,范围从 0 到 23inttm_mday; // 一月中的第几天,范围从 1 到 31inttm_mon; // 月,范围从 0 到 11inttm_year; // 自 1900 年起的年数inttm_wday; // 一周中的第几天,范围从 0 到 6,从星期日算起inttm_yday; // 一年中的第几天,范围从 0 到 365,从 1 月 1 日算起inttm_isdst; // 夏令时}
当前日期和时间
下面的实例获取当前系统的日期和时间,包括本地时间和协调世界时(UTC)。
实例
#include<iostream>#include<ctime>usingnamespacestd; intmain(){// 基于当前系统的当前日期/时间time_tnow = time(0); // 把 now 转换为字符串形式char* dt = ctime(&now); cout << "本地日期和时间:" << dt << endl; // 把 now 转换为 tm 结构tm *gmtm = gmtime(&now); dt = asctime(gmtm); cout << "UTC 日期和时间:"<< dt << endl;}
当上面的代码被编译和执行时,它会产生下列结果:
本地日期和时间:Sat Jan 8 20:07:41 2011UTC 日期和时间:Sun Jan 9 03:07:41 2011
使用结构 tm 格式化时间
tm 结构在 C/C 中处理日期和时间相关的操作时,显得尤为重要。tm 结构以 C 结构的形式保存日期和时间。大多数与时间相关的函数都使用了 tm 结构。下面的实例使用了 tm 结构和各种与日期和时间相关的函数。
在练习使用结构之前,需要对 C 结构有基本的了解,并懂得如何使用箭头 -> 运算符来访问结构成员。
实例
#include<iostream>#include<ctime>usingnamespacestd; intmain(){// 基于当前系统的当前日期/时间time_tnow = time(0); cout << "Number of sec since January 1 1970:" << now << endl; tm *ltm = localtime(&now); // 输出 tm 结构的各个组成部分cout << "Year: "<< 1900 ltm->tm_year << endl; cout << "Month: "<< 1 ltm->tm_mon<< endl; cout << "Day: "<< ltm->tm_mday << endl; cout << "Time: "<< 1 ltm->tm_hour << ":"; cout << 1 ltm->tm_min << ":"; cout << 1 ltm->tm_sec << endl;}
当上面的代码被编译和执行时,它会产生下列结果:
Number of sec since January 1 1970:1294548238Year: 2011Month: 1Day: 8Time: 22: 44:59