File: setmonth.cc

package info (click to toggle)
bobcat 1.18.1-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 3,920 kB
  • ctags: 575
  • sloc: makefile: 12,973; cpp: 6,284; perl: 401; ansic: 68; sh: 52
file content (27 lines) | stat: -rw-r--r-- 559 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "datetime.ih"

#include <iostream>
using namespace std;

bool DateTime::setMonth(Month month, Relative where)
{
    if (!d_ok)
        return false;

    struct tm tmStruct = d_tm;

        // For LAST: At Sep, specify Oct: previous year
        // For NEXT: At Sep, specify May: next year
    if (where == LAST && static_cast<int>(month) > d_tm.tm_mon)
        --tmStruct.tm_year;
    else if (where == NEXT && static_cast<int>(month) < d_tm.tm_mon)
        ++tmStruct.tm_year;

    tmStruct.tm_mon = month;

    return updateTime(&tmStruct);
}