Table of Contents

Class DateTimeUtils

Namespace
Lers.Utils
Assembly
Lers.Core.dll

Содержит методы по работе с DateTime.

public static class DateTimeUtils
Inheritance
DateTimeUtils
Inherited Members

Fields

MiddleDayHour

Середина дня.

public const int MiddleDayHour = 12

Field Value

int

MiddleMonthDay

Середина месяца.

public const int MiddleMonthDay = 14

Field Value

int

Methods

AsUtc(DateTime)

Возвращает дату и время с типом, установленным в UTC.

public static DateTime AsUtc(this DateTime dt)

Parameters

dt DateTime

Returns

DateTime

CalculateConsumptionDateTime(DeviceDataType, DateTime)

Расчет даты потребления по дате второго интегратора.

public static DateTime CalculateConsumptionDateTime(DeviceDataType dataType, DateTime secondTotalsDate)

Parameters

dataType DeviceDataType

Тип данных.

secondTotalsDate DateTime

Дата и время второго интеграторов.

Returns

DateTime

Дата потребления.

CalculateTotalsStartEndDataDate(DeviceDataType, DateTime, byte, byte, ReportingHourMode)

Расчет дат показаний интеграторов обрамляющих заданную дату потребления. Используется для точек учета, у которых задан расчетный день или час.

public static (DateTime StartDataDate, DateTime EndDataDate) CalculateTotalsStartEndDataDate(DeviceDataType dataType, DateTime consumptionDateTime, byte reportingDay, byte reportingHour, ReportingHourMode reportingHourMode)

Parameters

dataType DeviceDataType

Тип данных.

consumptionDateTime DateTime

Дата потребления, для которой надо получить даты обрамляющих ее интеграторов.

reportingDay byte

Расчетный день.

reportingHour byte

Расчетный час.

reportingHourMode ReportingHourMode

Вариант группировки часовых записей по расчетному часу.

Returns

(DateTime StartDataDate, DateTime EndDataDate)

Массив из двух дат, первая - для показаний на начало метки времени, вторая - для показаний на конец метки времени.

CanIncrement(DeviceDataType)

Вернёт true если к указанному типу данных можно добавить интервал.

public static bool CanIncrement(DeviceDataType dataType)

Parameters

dataType DeviceDataType

Returns

bool

CheckDateTimeValue(DateTime, DeviceDataType)

Проверяет, что значение метки времени соответствует типу данных (суточная метка не содержит часов и т.п.).

public static void CheckDateTimeValue(DateTime dateTime, DeviceDataType dataType)

Parameters

dateTime DateTime

Метка времени.

dataType DeviceDataType

Тип данных (только месячные, суточные, часовые или текущие).

FormatTimeMark(DateTime, DeviceDataType)

Преобразует дату и время в формат, подходящий для типа данных.

public static DateTime FormatTimeMark(DateTime dt, DeviceDataType dataType)

Parameters

dt DateTime
dataType DeviceDataType

Returns

DateTime

GetDay(DateTime, int, ReportingHourMode)

Возвращает день, к которому относится часовая метка времени, учитывая расчетный час.

public static DateTime GetDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Часовая метка времени.

reportingHour int

Расчетный час.

mode ReportingHourMode

Вариант группировки часовых записей по расчетному часу.

Returns

DateTime

День, к которому относится часовая метка времени.

Exceptions

ArgumentOutOfRangeException

Значение параметра reportingHour меньше 0 или больше 23.

GetDifference(DeviceDataType, DateTime, DateTime)

Возвращает количество интервалов, которые расположены между двумя датами.

public static long GetDifference(DeviceDataType dataType, DateTime first, DateTime second)

Parameters

dataType DeviceDataType
first DateTime
second DateTime

Returns

long

GetExcelDateTimeFormatString(DeviceDataType)

public static string GetExcelDateTimeFormatString(DeviceDataType dataType)

Parameters

dataType DeviceDataType

Returns

string

GetFirstTimeMarkForDay(DateTime, int, ReportingHourMode)

Возвращает первую метку времени суток, учитывая расчетный час.

public static DateTime GetFirstTimeMarkForDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Суточная метка времени.

reportingHour int

Расчетный час.

mode ReportingHourMode

Вариант группировки часовых записей по расчетному часу.

Returns

DateTime

Дата и время в формате d HH:00:00.000, которое представляет собой метку времени начала указанных суток.

GetFirstTimeMarkForMonth(DateTime, int, int, ReportingHourMode)

Возвращает первую метку времени месяца, учитывая расчетный день.

public static DateTime GetFirstTimeMarkForMonth(DateTime dateTime, int reportingDay, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Месячная метка времени.

reportingDay int

Расчетный день.

reportingHour int

Отчётный час.

mode ReportingHourMode

Режим группировку отчётного часа.

Returns

DateTime

Дата, которая представляет собой метку времени начала указанного месяца.

GetLastTimeMarkForDay(DateTime, int, ReportingHourMode)

Возвращает последнюю метку времени суток, учитывая расчетный час.

public static DateTime GetLastTimeMarkForDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Суточная метка времени.

reportingHour int

Расчетный час.

mode ReportingHourMode

Вариант группировки часовых записей по расчетному часу.

Returns

DateTime

Дата и время в формате d HH:00:00.000, которое представляет собой метку времени окончания указанных суток.

GetLastTimeMarkForMonth(DateTime, int, int, ReportingHourMode)

Возвращает последнюю метку времени месяца, учитывая расчетный день.

public static DateTime GetLastTimeMarkForMonth(DateTime dateTime, int reportingDay, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Месячная метка времени.

reportingDay int

Расчетный день.

reportingHour int

Отчётный час.

mode ReportingHourMode

Режим группировку отчётного часа.

Returns

DateTime

Дата, которая представляет собой метку времени начала указанного месяца.

GetMinutesSinceMidnight(DateTime)

Возвращает количество минут, прошедших с начала суток.

public static int GetMinutesSinceMidnight(this DateTime dateTime)

Parameters

dateTime DateTime

Returns

int

GetMonth(DateTime, int, int, ReportingHourMode)

Возвращает месяц, к которому относится суточная метка времени, учитывая расчетный день.

public static DateTime GetMonth(DateTime dateTime, int reportingDay, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Суточная метка времени.

reportingDay int

Расчетный день.

reportingHour int

Расчетный час.

mode ReportingHourMode

Вариант группировки часовых записей по расчетному часу.

Returns

DateTime

Месяц, к которому относится суточная метка времени.

Exceptions

ArgumentOutOfRangeException

Значение параметра reportingDay меньше 1 или больше 28.

GetParentRecordDate(DateTime, DeviceDataType, int, int, ReportingHourMode)

Возвращает время родительской записи. Применяется для расчёта времени родительской записи при группировке данных потребления и интеграторов.

public static DateTime GetParentRecordDate(DateTime dateTime, DeviceDataType parentDataType, int reportingDay, int reportingHour, ReportingHourMode mode)

Parameters

dateTime DateTime

Время записи.

parentDataType DeviceDataType

Тип родительской записи.

reportingDay int

Отчётный день.

reportingHour int

Отчётный час.

mode ReportingHourMode

Вариант группировки отчетного часа.

Returns

DateTime

Время родительской записи.

Increment(DateTime, DeviceDataType, int)

Прибавляет к указанной дате и времени приращение заданного типа данных.

public static DateTime Increment(this DateTime value, DeviceDataType dataType, int increment)

Parameters

value DateTime

Дата и время.

dataType DeviceDataType

Тип данных.

increment int

Приращение.

Returns

DateTime

Результат приращения.

Max(DateTime, DateTime)

Возвращает большее значение даты и времени.

public static DateTime Max(DateTime val1, DateTime val2)

Parameters

val1 DateTime

Значение 1.

val2 DateTime

Значение 2.

Returns

DateTime

Большее из значений.

Min(DateTime, DateTime)

Возвращает меньшее значение даты и времени.

public static DateTime Min(DateTime val1, DateTime val2)

Parameters

val1 DateTime

Значение 1.

val2 DateTime

Значение 2.

Returns

DateTime

Меньшее из значений.

Normalize(DateTime, DeviceDataType)

Приводит дату и время к указанному типу данных.

public static DateTime Normalize(this DateTime value, DeviceDataType dataType)

Parameters

value DateTime

Дата и время.

dataType DeviceDataType

Тип данных.

Returns

DateTime

Дата и время приведенное к указанному типу данных.

RoundToSeconds(DateTime)

Округляет дату до ближайшей секунды.

public static DateTime RoundToSeconds(this DateTime date)

Parameters

date DateTime

Returns

DateTime

Sanitize(DateTime)

Нормализует дату и время, отбрасывая всё, что мельче секунд.

public static DateTime Sanitize(DateTime value)

Parameters

value DateTime

Дата и время.

Returns

DateTime

Возвращает значение даты и времени с точностью до секунды.

TrimMicroSeconds(DateTime)

Обрезает микросекунды даты.

public static DateTime TrimMicroSeconds(this DateTime date)

Parameters

date DateTime

Дата.

Returns

DateTime

Дата с обрезанными микросекундами.

TrimMilliSeconds(DateTime)

Удаляет из даты и времени миллисекунды.

public static DateTime TrimMilliSeconds(this DateTime date)

Parameters

date DateTime

Дата.

Returns

DateTime

Дата с удаленными миллисекундами.

TrimSeconds(DateTime)

Обрезает секунды даты.

public static DateTime TrimSeconds(this DateTime date)

Parameters

date DateTime

Дата.

Returns

DateTime

Дата с обрезанными секундами.

TryNormalize(DateTime, DeviceDataType)

Приводит дату и время к указанному типу данных.

public static DateTime TryNormalize(this DateTime value, DeviceDataType dataType)

Parameters

value DateTime

Дата и время.

dataType DeviceDataType

Тип данных.

Returns

DateTime

Дата и время приведенное к указанному типу данных.

Remarks

В отличие от Normalize(DateTime, DeviceDataType), не выдаёт исключение если тип данных не поддерживается. Вместо исключения возвращается исходная дата.