Ms > Интерфейсы сборки Ms > IMsTimeMatrix > IMsTimeMatrix.AlignedDate
AlignedDate(Value: DateTime;
[Forward:
Boolean = true;]
[ThrowException:
Boolean = true]): DateTime;
AlignedDate[Value: System.DateTime;
Forward:
boolean;
ThrowException:
boolean]: System.DateTime;
Value. Проверяемая дата;
Forward. Направление сдвига календаря;
ThrowException. Признак того, будет ли генерироваться исключительная ситуация, если проверяемая дата выходит за пределы дат ряда. Возможные значения:
True. Значение по умолчанию. Генерируется исключительная ситуация;
False. Метод возвращает дату, ближайшую к началу или окончанию ряда.
Свойство AlignedDate возвращает ближайшую корректную дату.
Если проверяемая дата является выходным днем, то метод вернет ближайшую корректную дату в зависимости от значения параметра Forward:
Forward = True. Значение по умолчанию. Ближайшая корректная дата вперед по календарю;
Forward = False. Ближайшая корректная дата назад по календарю.
Если проверяемая дата является рабочим днем, то метод вернет проверяемую дату без изменения.
В данном примере описан пользовательский метод.
Для выполнения примера добавьте ссылки на системные сборки Ms.
Public Function UserAlignedDate(param: IMsTimeMatrix): Variant;
Var
m : IMsTimeMatrix;
i : Integer;
IndDate: DateTime;
Begin
m := New MsTimeMatrix.Create;
For i := m.StartIndex To m.EndIndex Do
IndDate := m.IndexToDate(i);
If m.AlignedDate(IndDate) = IndDate Then
Debug.WriteLine(m.Item(i));
End If;
End For;
Return m;
End Function UserAlignedDate;
В результате выполнения примера в окно консоли будут выведены значения точек рядов матрицы, если ближайшая корректная дата совпадет с датой, полученной в результате перевода индекса в дату.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Ms;
…
Public Function UserAlignedDate(param: IMsTimeMatrix): object;
Var
m : IMsTimeMatrix;
i : Integer;
IndDate: DateTime;
Begin
m := New MsTimeMatrix.Create();
For i := m.StartIndex To m.EndIndex Do
IndDate := m.IndexToDate(i);
If m.AlignedDate[IndDate, True, True] = IndDate Then
System.Diagnostics.Debug.WriteLine(m.Item[i]);
End If;
End For;
Return m;
End Function UserAlignedDate;
См. также: