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
dtDateTime
Returns
CalculateConsumptionDateTime(DeviceDataType, DateTime)
Расчет даты потребления по дате второго интегратора.
public static DateTime CalculateConsumptionDateTime(DeviceDataType dataType, DateTime secondTotalsDate)
Parameters
dataTypeDeviceDataTypeТип данных.
secondTotalsDateDateTimeДата и время второго интеграторов.
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
dataTypeDeviceDataTypeТип данных.
consumptionDateTimeDateTimeДата потребления, для которой надо получить даты обрамляющих ее интеграторов.
reportingDaybyteРасчетный день.
reportingHourbyteРасчетный час.
reportingHourModeReportingHourModeВариант группировки часовых записей по расчетному часу.
Returns
- (DateTime StartDataDate, DateTime EndDataDate)
Массив из двух дат, первая - для показаний на начало метки времени, вторая - для показаний на конец метки времени.
CanIncrement(DeviceDataType)
Вернёт true если к указанному типу данных можно добавить интервал.
public static bool CanIncrement(DeviceDataType dataType)
Parameters
dataTypeDeviceDataType
Returns
CheckDateTimeValue(DateTime, DeviceDataType)
Проверяет, что значение метки времени соответствует типу данных (суточная метка не содержит часов и т.п.).
public static void CheckDateTimeValue(DateTime dateTime, DeviceDataType dataType)
Parameters
dateTimeDateTimeМетка времени.
dataTypeDeviceDataTypeТип данных (только месячные, суточные, часовые или текущие).
FormatTimeMark(DateTime, DeviceDataType)
Преобразует дату и время в формат, подходящий для типа данных.
public static DateTime FormatTimeMark(DateTime dt, DeviceDataType dataType)
Parameters
dtDateTimedataTypeDeviceDataType
Returns
GetDay(DateTime, int, ReportingHourMode)
Возвращает день, к которому относится часовая метка времени, учитывая расчетный час.
public static DateTime GetDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)
Parameters
dateTimeDateTimeЧасовая метка времени.
reportingHourintРасчетный час.
modeReportingHourModeВариант группировки часовых записей по расчетному часу.
Returns
- DateTime
День, к которому относится часовая метка времени.
Exceptions
- ArgumentOutOfRangeException
Значение параметра reportingHour меньше 0 или больше 23.
GetDifference(DeviceDataType, DateTime, DateTime)
Возвращает количество интервалов, которые расположены между двумя датами.
public static long GetDifference(DeviceDataType dataType, DateTime first, DateTime second)
Parameters
dataTypeDeviceDataTypefirstDateTimesecondDateTime
Returns
GetExcelDateTimeFormatString(DeviceDataType)
public static string GetExcelDateTimeFormatString(DeviceDataType dataType)
Parameters
dataTypeDeviceDataType
Returns
GetFirstTimeMarkForDay(DateTime, int, ReportingHourMode)
Возвращает первую метку времени суток, учитывая расчетный час.
public static DateTime GetFirstTimeMarkForDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)
Parameters
dateTimeDateTimeСуточная метка времени.
reportingHourintРасчетный час.
modeReportingHourModeВариант группировки часовых записей по расчетному часу.
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
dateTimeDateTimeМесячная метка времени.
reportingDayintРасчетный день.
reportingHourintОтчётный час.
modeReportingHourModeРежим группировку отчётного часа.
Returns
- DateTime
Дата, которая представляет собой метку времени начала указанного месяца.
GetLastTimeMarkForDay(DateTime, int, ReportingHourMode)
Возвращает последнюю метку времени суток, учитывая расчетный час.
public static DateTime GetLastTimeMarkForDay(DateTime dateTime, int reportingHour, ReportingHourMode mode)
Parameters
dateTimeDateTimeСуточная метка времени.
reportingHourintРасчетный час.
modeReportingHourModeВариант группировки часовых записей по расчетному часу.
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
dateTimeDateTimeМесячная метка времени.
reportingDayintРасчетный день.
reportingHourintОтчётный час.
modeReportingHourModeРежим группировку отчётного часа.
Returns
- DateTime
Дата, которая представляет собой метку времени начала указанного месяца.
GetMinutesSinceMidnight(DateTime)
Возвращает количество минут, прошедших с начала суток.
public static int GetMinutesSinceMidnight(this DateTime dateTime)
Parameters
dateTimeDateTime
Returns
GetMonth(DateTime, int)
Возвращает месяц, к которому относится суточная метка времени, учитывая расчетный день.
public static DateTime GetMonth(DateTime dateTime, int reportingDay)
Parameters
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
dateTimeDateTimeВремя записи.
parentDataTypeDeviceDataTypeТип родительской записи.
reportingDayintОтчётный день.
reportingHourintОтчётный час.
modeReportingHourModeВариант группировки отчетного часа.
Returns
- DateTime
Время родительской записи.
Increment(DateTime, DeviceDataType, int)
Прибавляет к указанной дате и времени приращение заданного типа данных.
public static DateTime Increment(this DateTime value, DeviceDataType dataType, int increment)
Parameters
valueDateTimeДата и время.
dataTypeDeviceDataTypeТип данных.
incrementintПриращение.
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
valueDateTimeДата и время.
dataTypeDeviceDataTypeТип данных.
Returns
- DateTime
Дата и время приведенное к указанному типу данных.
RoundToSeconds(DateTime)
Округляет дату до ближайшей секунды.
public static DateTime RoundToSeconds(this DateTime date)
Parameters
dateDateTime
Returns
Sanitize(DateTime)
Нормализует дату и время, отбрасывая всё, что мельче секунд.
public static DateTime Sanitize(DateTime value)
Parameters
valueDateTimeДата и время.
Returns
- DateTime
Возвращает значение даты и времени с точностью до секунды.
TrimMicroSeconds(DateTime)
Обрезает микросекунды даты.
public static DateTime TrimMicroSeconds(this DateTime date)
Parameters
dateDateTimeДата.
Returns
- DateTime
Дата с обрезанными микросекундами.
TrimMilliSeconds(DateTime)
Удаляет из даты и времени миллисекунды.
public static DateTime TrimMilliSeconds(this DateTime date)
Parameters
dateDateTimeДата.
Returns
- DateTime
Дата с удаленными миллисекундами.
TrimSeconds(DateTime)
Обрезает секунды даты.
public static DateTime TrimSeconds(this DateTime date)
Parameters
dateDateTimeДата.
Returns
- DateTime
Дата с обрезанными секундами.
TryNormalize(DateTime, DeviceDataType)
Приводит дату и время к указанному типу данных.
public static DateTime TryNormalize(this DateTime value, DeviceDataType dataType)
Parameters
valueDateTimeДата и время.
dataTypeDeviceDataTypeТип данных.
Returns
- DateTime
Дата и время приведенное к указанному типу данных.
Remarks
В отличие от Normalize(DateTime, DeviceDataType), не выдаёт исключение если тип данных не поддерживается. Вместо исключения возвращается исходная дата.