DCL 4.0
Loading...
Searching...
No Matches
DateTime.cpp File Reference
#include <dcl/Config.h>
#include <sys/time.h>
#include <time.h>
#include <string.h>
#include <wchar.h>
#include <dcl/DateTime.h>

Go to the source code of this file.

Macros

#define AD_START   220866926
#define BC_END   (AD_START - 367)
#define SEC_PER_DAY   86400
#define MSEC_PER_DAY   86400000
#define SEC_PER_HOUR   3600
#define MSEC_PER_HOUR   3600000
#define SEC_PER_MIN   60
#define MSEC_PER_MIN   60000

Functions

DCLCAPI Date operator+ (const Date &d, long nDays)
DCLCAPI Time operator+ (const Time &t, long nMilliSeconds)
DCLCAPI Interval operator+ (const Interval &iv1, const Interval &iv2)
DCLCAPI Interval operator- (const Interval &iv1, const Interval &iv2)
DCLCAPI DateTime operator+ (const DateTime &dt, const Interval &iv)
DCLCAPI DateTime operator+ (const Interval &iv, const DateTime &dt)
DCLCAPI DateTime operator- (const DateTime &dt, const Interval &iv)
DCLCAPI Interval operator- (const DateTime &dt1, const DateTime &dt2)

Macro Definition Documentation

◆ AD_START

#define AD_START   220866926

Definition at line 60 of file DateTime.cpp.

◆ BC_END

#define BC_END   (AD_START - 367)

Definition at line 61 of file DateTime.cpp.

◆ MSEC_PER_DAY

#define MSEC_PER_DAY   86400000

Definition at line 390 of file DateTime.cpp.

◆ MSEC_PER_HOUR

#define MSEC_PER_HOUR   3600000

Definition at line 392 of file DateTime.cpp.

◆ MSEC_PER_MIN

#define MSEC_PER_MIN   60000

Definition at line 394 of file DateTime.cpp.

◆ SEC_PER_DAY

#define SEC_PER_DAY   86400

Definition at line 389 of file DateTime.cpp.

◆ SEC_PER_HOUR

#define SEC_PER_HOUR   3600

Definition at line 391 of file DateTime.cpp.

◆ SEC_PER_MIN

#define SEC_PER_MIN   60

Definition at line 393 of file DateTime.cpp.

Function Documentation

◆ operator+() [1/5]

DCLCAPI Date operator+ ( const Date & d,
long nDays )

Definition at line 178 of file DateTime.cpp.

179{
180 Date result = d;
181 result += nDays;
182 return result;
183}
return result

◆ operator+() [2/5]

DCLCAPI DateTime operator+ ( const DateTime & dt,
const Interval & iv )

Definition at line 793 of file DateTime.cpp.

794{
795 DateTime dtResult = dt;
796 dtResult += iv;
797 return dtResult;
798}

◆ operator+() [3/5]

DCLCAPI DateTime operator+ ( const Interval & iv,
const DateTime & dt )

Definition at line 800 of file DateTime.cpp.

801{
802 return operator + (dt, iv);
803}
DCLCAPI Date operator+(const Date &d, long nDays)
Definition DateTime.cpp:178

◆ operator+() [4/5]

DCLCAPI Interval operator+ ( const Interval & iv1,
const Interval & iv2 )

Definition at line 607 of file DateTime.cpp.

608{
610 return iv;
611}
int64_t totalMilliSeconds() const
Definition DateTime.inl:116

◆ operator+() [5/5]

DCLCAPI Time operator+ ( const Time & t,
long nMilliSeconds )

Definition at line 452 of file DateTime.cpp.

453{
454 Time result = t;
455 result += nMilliSeconds;
456 return result;
457}

◆ operator-() [1/3]

DCLCAPI DateTime operator- ( const DateTime & dt,
const Interval & iv )

Definition at line 805 of file DateTime.cpp.

806{
807 DateTime dtResult = dt;
808 dtResult -= iv;
809
810 return dtResult;
811}

◆ operator-() [2/3]

DCLCAPI Interval operator- ( const DateTime & dt1,
const DateTime & dt2 )

Definition at line 813 of file DateTime.cpp.

814{
815 Interval ivResult(
816 (int64_t)dt1.date().days() * MSEC_PER_DAY
817 + (int64_t)dt1.time().totalMilliSeconds()
818 - (int64_t)dt2.date().days() * MSEC_PER_DAY
819 - (int64_t)dt2.time().totalMilliSeconds()
820 );
821
822 return ivResult;
823}
#define MSEC_PER_DAY
Definition DateTime.cpp:390
long days() const
Definition DateTime.cpp:74
Time & time()
Definition DateTime.inl:162
Date & date()
Definition DateTime.inl:152
long totalMilliSeconds() const
Definition DateTime.inl:65

◆ operator-() [3/3]

DCLCAPI Interval operator- ( const Interval & iv1,
const Interval & iv2 )

Definition at line 613 of file DateTime.cpp.

614{
616 return iv;
617}