c++ 根据当前日期往前往后推算日期
// -1往前推1天 1往后推1天 int calc_date(int days) { struct tm tmin; struct tm tmout; SYSTEMTIME st; GetLocalTime(&st); tmin.tm_year = st.wYear - 1900; tmin.tm_mon = st.wMonth - 1; tmin.tm_mday = st.wDay; tmin.tm_hour = st.wHour; tmin.tm_min = st.wMinute; tmin.tm_sec = st.wSecond; tmin.tm_isdst = -1; /*将tm结构数据转换成1970年1月1日开始计算的秒数*/ time_t _tm = mktime(&tmin); /*计算需要增加或者减少天数对应的秒数,结果是最终日期对应1970年1月1日开始计算的秒数*/ _tm += days * 60 * 60 * 24; /*将time_t的信息转化真实世界的时间日期表示,结果由结构tm返回*/ localtime_s(&tmout,&_tm); /*tm类型的时间转换。将tm按照%Y%m%d格式转化赋值到输出中*/ char buf[12]; memset(buf, 0, sizeof(buf)); strftime(buf, sizeof(buf), "%Y%m%d", &tmout); return atoi(buf); }