本示例是输出3个月前的日期,可以通过更改Month_num的数值来实现指定数月前的日期。
/*
filename:pdate.cpp
description:输出数个月之前的日期
*/
#include <iostream>
#include <ctime>
using namespace std;
const int Month_num = 3; //修改此处的值来输出指定月之前的值
int main( )
{
int nYear,nMonth,nDay,nHour,nMin,nSec;
// 基于当前系统前Month_num的日期/时间
time_t now = time(0) -Month_num*30*24*60*60;//以30天为一个月
tm *ltm = localtime(&now);
// 获取 tm 结构的各个组成部分
nYear =1900 + ltm->tm_year; //年
nMonth = 1 + ltm->tm_mon; //月
nDay= ltm->tm_mday ; //日
// nHour= ltm->tm_hour ;
// nMin = ltm->tm_min ;
// nSec = ltm->tm_sec ;
cout<<nYear<<"年 "<<nMonth<<"月 "<<nDay<<"日"<<endl;
}
当天时间为2017-1-15,程序运行结果如下:
[root@localhost cpp]# ./pdate
2016年 10月 17日