Class mgr date::AccurateDateTime

Материал из ISPWiki
Перейти к: навигация, поиск

Дата и время

Класс mgr_date::AccurateDateTime

Дата и время с точностью до милисекунд

#include <mgrdate.h> 

Описание:

class mgr_date::AccurateDateTime

Базовый класс представления даты и времени с точностью до миллисекунд. Класс хранит в себе два представление времени:

  • SimpleTimeType - упрощенный формат, в зависимости от платформы количество секунд или 100-наносекундных интервалов;
  • ComplexTimeType - структура, описывающяя хранящиеся дату и время как день, месяц, год, час, минута и т.д.

Потомки:


Открытые члены (кратко)

typedef WinUnix ( FILETIME , struct timeval )
typedef WinUnix ( SYSTEMTIME , struct tm )
AccurateDateTime ()

Конструктор по умолчанию. Экземпляр класса будет отражать текущее время.


AccurateDateTime ( const string &date )

Конструктор создающий объект из строки. Формат строки Y-m-d H:M:S.frac (frac - миллисекунды)

Получение информации

int year () const

Возвращает год


int month () const

Возвращает месяц (число в интервале [1..12])


int day () const

Возвращает день (число в интервале [1..31])


int weekday () const

Возвращает день недели (число в интервале [0..6], 0 - воскресенье)


int hour () const

Возвращает час (число в интервале [0..23])


int minute () const

Возвращает минуту (число в интервале [0..59])


int sec () const

Возвращает секунду (число в интервале [0..59])


int milisec () const

Возвращает миллисекунду (число в интервале [0..999])


virtual string AsDate () const

Возвращает дату в виде текстовой строки в формате Y-m-d.


virtual string AsTime () const

Возвращает время в виде текстовой строки в формате H:M:S.frac (frac - миллисекунды)


string AsDateTime () const

Возвращает дату и время в виде текстовой строки в формате Y-m-d H:M:S.frac (frac - миллисекунды)


operator string () const

см. AsDateTime()

Модификация текущего значения

Warning: Поведение AddMonth для последних дней месяца (29-31) не определено, так как получившийся месяц может содержать меньшее количество дней

AccurateDateTime & AddSeconds ( int seconds = 1 )

Увеличить/уменьшить время на seconds секунд


AccurateDateTime & AddDays ( int count = 1 )

Увеличить/уменьшить время на count дней


AccurateDateTime & AddMonth ( int count = 1 )

Увеличить/уменьшить дату на count месяцев

Операторы приведения типов

operator time_t () const

Возвращает количество секунд начиная с 1-го января 1970 года (time_t)


operator ComplexTimeType () const

см. ComplexTimeType.

Операторы сравнения

Защищённые члены (кратко)

Приватные члены (кратко)

Конструкторы

AccurateDateTime ()

Конструктор по умолчанию. Экземпляр класса будет отражать текущее время.

AccurateDateTime ( const string &date )

Конструктор создающий объект из строки. Формат строки Y-m-d H:M:S.frac (frac - миллисекунды)

Методы

int year () const

Возвращает год

int month () const

Возвращает месяц (число в интервале [1..12])

int day () const

Возвращает день (число в интервале [1..31])

int weekday () const

Возвращает день недели (число в интервале [0..6], 0 - воскресенье)

int hour () const

Возвращает час (число в интервале [0..23])

int minute () const

Возвращает минуту (число в интервале [0..59])

int sec () const

Возвращает секунду (число в интервале [0..59])

int milisec () const

Возвращает миллисекунду (число в интервале [0..999])

virtual string AsDate () const

Возвращает дату в виде текстовой строки в формате Y-m-d.

virtual string AsTime () const

Возвращает время в виде текстовой строки в формате H:M:S.frac (frac - миллисекунды)

string AsDateTime () const

Возвращает дату и время в виде текстовой строки в формате Y-m-d H:M:S.frac (frac - миллисекунды)

operator string () const

см. AsDateTime()

AccurateDateTime &AddSeconds ( int seconds = 1 )

Увеличить/уменьшить время на seconds секунд

AccurateDateTime &AddDays ( int count = 1 )

Увеличить/уменьшить время на count дней

AccurateDateTime &AddMonth ( int count = 1 )

Увеличить/уменьшить дату на count месяцев

operator time_t () const

Возвращает количество секунд начиная с 1-го января 1970 года (time_t)

operator ComplexTimeType () const

см. ComplexTimeType.

typedef WinUnix ( FILETIME , struct timeval )

используется для хранения даты и времени в виде (используется временная зона UTC):

  • для WIN32: количество 100-наносекундных интервалов начиная с 1-го января 1601 года UTC (FILETIME)
  • для Unix: количество секунд начиная с 1-го января 1970 года UTC (struct timeval)

typedef WinUnix ( SYSTEMTIME , struct tm )

используется для хранения даты и времени в формате (используется локальная временная зона):