DCL 4.1
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 &_date, long _days)
DCLCAPI Time operator+ (const Time &_time, long _milliseconds)
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 & _date,
long _days )

Definition at line 178 of file DateTime.cpp.

179{
180 Date r = _date;
181 r += _days;
182 return r;
183}
ByteString r

◆ operator+() [2/5]

DCLCAPI DateTime operator+ ( const DateTime & _dt,
const Interval & _iv )

Definition at line 793 of file DateTime.cpp.

794{
795 DateTime r = _dt;
796 r += _iv;
797 return r;
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 &_date, long _days)
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 r;
611}
int64_t totalMilliSeconds() const
Definition DateTime.inl:116

◆ operator+() [5/5]

DCLCAPI Time operator+ ( const Time & _time,
long _milliseconds )

Definition at line 452 of file DateTime.cpp.

453{
454 Time result = _time;
455 result += _milliseconds;
456 return result;
457}
return result

◆ operator-() [1/3]

DCLCAPI DateTime operator- ( const DateTime & _dt,
const Interval & _iv )

Definition at line 805 of file DateTime.cpp.

806{
807 DateTime r = _dt;
808 r -= _iv;
809
810 return r;
811}

◆ operator-() [2/3]

DCLCAPI Interval operator- ( const DateTime & _dt1,
const DateTime & _dt2 )

Definition at line 813 of file DateTime.cpp.

814{
815 Interval r(
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 r;
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 r;
617}