CppUtils/Utils/TimeSpan.h
2025-06-05 10:06:43 +08:00

40 lines
1.3 KiB
C++

#pragma once
#include "defines.h"
class TimeSpan
{
static const __int64 TicksPerMillisecond = 10000;
static const __int64 TicksPerSecond = TicksPerMillisecond * 1000;
static const __int64 TicksPerMinute = TicksPerSecond * 60;
static const __int64 TicksPerHour = TicksPerMinute * 60;
static const __int64 TicksPerDay = TicksPerHour * 24;
public:
TimeSpan(__int64 ticks = 0);
TimeSpan(int hours, int minutes, int seconds);
TimeSpan(int days, int hours, int minutes, int seconds);
TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);
void Add(TimeSpan ts);
int Days() const;
int Hours() const;
int Minutes() const;
int Seconds() const;
int Milliseconds() const;
int TotalDays() const;
int TotalHours() const;
int TotalMinutes() const;
int TotalSeconds() const;
int TotalMilliseconds() const;
__int64 Ticks() const;
bool operator==(TimeSpan ts) const;
bool operator!=(TimeSpan ts) const;
bool operator<(TimeSpan ts) const;
bool operator<=(TimeSpan ts) const;
bool operator>(TimeSpan ts) const;
bool operator>=(TimeSpan ts) const;
TimeSpan operator+(TimeSpan ts) const;
TimeSpan operator-(TimeSpan ts) const;
TimeSpan& operator+=(TimeSpan ts);
TimeSpan& operator-=(TimeSpan ts);
private:
__int64 _ticks;
};