Class DateTimeUtils
Содержит методы по работе с DateTime.
public static class DateTimeUtils
- Inheritance
-
DateTimeUtils
- Inherited Members
Fields
MiddleDayHour
Середина дня.
public const int MiddleDayHour = 12
Field Value
MiddleMonthDay
Середина месяца.
public const int MiddleMonthDay = 14
Field Value
Methods
AsUtc(DateTime)
Возвращает дату и время с типом, установленным в UTC.
public static DateTime AsUtc(this DateTime dt)
Parameters
dt
DateTime
Returns
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
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
DateTimedataType
DeviceDataType
Returns
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
DeviceDataTypefirst
DateTimesecond
DateTime
Returns
GetExcelDateTimeFormatString(DeviceDataType)
public static string GetExcelDateTimeFormatString(DeviceDataType dataType)
Parameters
dataType
DeviceDataType
Returns
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
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
Returns
- DateTime
Большее из значений.
Min(DateTime, DateTime)
Возвращает меньшее значение даты и времени.
public static DateTime Min(DateTime val1, DateTime val2)
Parameters
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
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), не выдаёт исключение если тип данных не поддерживается. Вместо исключения возвращается исходная дата.