Class Calendar
Namespace: Aspose.Tasks
Assembly: Aspose.Tasks.dll (25.2.0)
Представляет календарь, используемый в проекте.
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calendar
Наследование
Унаследованные члены
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Примеры
Как создать простой календарь с нуля.
// создать пустой календарь
Calendar calendar = new Calendar("Новый календарь");
// добавляет стандартные рабочие дни (8 рабочих часов с 9:00 до 17:00)
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
// создать новый рабочий день
WeekDay myWeekDay = new WeekDay(DayType.Thursday);
// Устанавливает рабочее время. Важна только часть времени DateTime
WorkingTime wt1 = new WorkingTime();
wt1.FromTime = new DateTime(1, 1, 1, 6, 0, 0, 0);
wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
WorkingTime wt2 = new WorkingTime();
wt2.FromTime = new DateTime(1, 1, 1, 14, 0, 0, 0);
wt2.ToTime = new DateTime(1, 1, 1, 18, 0, 0, 0);
myWeekDay.WorkingTimes.Add(wt1);
myWeekDay.WorkingTimes.Add(wt2);
myWeekDay.DayWorking = true;
calendar.Days.Add(myWeekDay);
calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday));
// добавляет выходные
calendar.Days.Add(new WeekDay(DayType.Saturday));
calendar.Days.Add(new WeekDay(DayType.Sunday));
csharp [VB] ’ создать пустой календарь Dim calendar As Calendar = New Calendar(“Новый календарь”) ’ добавляет стандартные рабочие дни (8 рабочих часов с 9:00 до 17:00) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday)) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday)) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday)) ’ создать новый рабочий день Dim myWeekDay As WeekDay = New WeekDay(DayType.Thursday) ’ Устанавливает рабочее время. Важна только часть времени DateTime Dim wt1 As WorkingTime = New WorkingTime() wt1.FromTime = New DateTime(1, 1, 1, 6, 0, 0, 0) wt1.ToTime = New DateTime(1, 1, 1, 12, 0, 0, 0) Dim wt2 As WorkingTime = New WorkingTime() wt2.FromTime = New DateTime(1, 1, 1, 14, 0, 0, 0) wt2.ToTime = New DateTime(1, 1, 1, 18, 0, 0, 0) myWeekDay.WorkingTimes.Add(wt1) myWeekDay.WorkingTimes.Add(wt2) myWeekDay.DayWorking = True calendar.Days.Add(myWeekDay) calendar.Days.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday)) ’ добавляет выходные calendar.Days.Add(New WeekDay(DayType.Saturday)) calendar.Days.Add(New WeekDay(DayType.Sunday))
## Замечания
Календари используются для определения стандартного рабочего и нерабочего времени.
Проекты должны иметь один базовый календарь. Задачи и ресурсы могут иметь свои собственные небазовые календари, основанные на базовом календаре.
## Свойства
### <a id="Aspose_Tasks_Calendar_BaseCalendar"></a> BaseCalendar
Получает или задает базовый календарь, от которого зависит этот календарь.
Применимо только если календарь не является базовым.
```csharp
public Calendar BaseCalendar { get; set; }
Значение свойства
Exceptions
Получает объект CalendarExceptionCollection.
Коллекция исключений, связанных с календарем.
public CalendarExceptionCollection Exceptions { get; }
Значение свойства
Guid
Получает Guid календаря.
public string Guid { get; }
Значение свойства
IsBaseCalendar
Получает значение, указывающее, является ли календарь базовым.
public bool IsBaseCalendar { get; }
Значение свойства
IsBaselineCalendar
Получает или задает значение, указывающее, является ли календарь базовым календарем.
public bool IsBaselineCalendar { get; set; }
Значение свойства
Name
Получает или задает имя календаря.
public string Name { get; set; }
Значение свойства
Uid
Получает или задает уникальный идентификатор календаря.
public int Uid { get; set; }
Значение свойства
WeekDays
Получает WeekDaysCollection для этого календаря.
Коллекция рабочих дней, определяющая календарь.
public WeekDayCollection WeekDays { get; }
Значение свойства
WorkWeeks
Получает объект WorkWeekCollections.
Коллекция рабочих недель, связанная с календарем.
public WorkWeekCollection WorkWeeks { get; }
Значение свойства
Методы
Delete()
Удаляет календарь из проекта.
public void Delete()
Equals(object)
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.
public override bool Equals(object obj)
Параметры
obj
object
Объект для сравнения с этим экземпляром.
Возвращает
True, если o является Calendar, у которого такое же значение Uid, как у этого экземпляра; в противном случае false.
GetFinishDateByStartAndWork(DateTime, Duration)
Вычисляет дату, когда пройдет указанное количество рабочего времени в соответствии с календарем.
public DateTime GetFinishDateByStartAndWork(DateTime start, Duration work)
Параметры
start
DateTime
Дата начала.
work
Duration
Продолжительность работы.
Возвращает
Дата завершения.
GetFinishDateByStartAndWork(DateTime, TimeSpan)
Вычисляет дату, когда пройдет указанное количество рабочего времени в соответствии с календарем.
public DateTime GetFinishDateByStartAndWork(DateTime start, TimeSpan work)
Параметры
start
DateTime
Дата начала.
work
TimeSpan
Продолжительность работы.
Возвращает
Дата завершения.
GetHashCode()
Возвращает код хэширования для экземпляра класса.
public override int GetHashCode()
Возвращает
код хэширования для этого объекта.
GetNextWorkingDayStart(DateTime)
Вычисляет начало следующего рабочего дня от даты.
public DateTime GetNextWorkingDayStart(DateTime date)
Параметры
date
DateTime
Дата, для которой нужно получить начало следующего рабочего дня.
Возвращает
Начало следующего рабочего дня System.DateTime.
GetPreviousWorkingDayEnd(DateTime)
Вычисляет конец предыдущего рабочего дня от указанной даты.
public DateTime GetPreviousWorkingDayEnd(DateTime date)
Параметры
date
DateTime
указанный экземпляр структуры System.DateTime.
Возвращает
Конец предыдущего рабочего дня System.DateTime
GetStartDateFromFinishAndDuration(DateTime, Duration)
Возвращает StartDate на основе указанного FinishDate и Duration.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, Duration duration)
Параметры
finish
DateTime
Указанная дата завершения.
duration
Duration
Указанная продолжительность работы.
Возвращает
Вычисленный StartDate.
GetStartDateFromFinishAndDuration(DateTime, TimeSpan)
Возвращает StartDate на основе указанного FinishDate и Duration.
public DateTime GetStartDateFromFinishAndDuration(DateTime finish, TimeSpan duration)
Параметры
finish
DateTime
Указанная дата завершения.
duration
TimeSpan
Указанная продолжительность работы.
Возвращает
Вычисленный StartDate.
GetTaskFinishDateFromDuration(Task, TimeSpan)
Вычисляет дату и время завершения задачи на основе ее даты начала, разделенных частей и продолжительности.
public DateTime GetTaskFinishDateFromDuration(Task task, TimeSpan duration)
Параметры
task
Task
Задача, для которой нужно получить дату завершения.
duration
TimeSpan
Продолжительность задачи для разделения.
Возвращает
Дата завершения задачи.
Замечания
Возвращает DateTime.MinValue, если задача является сводной, равна null или ее дата начала не установлена.
GetWorkingHours(DateTime, DateTime)
Возвращает рабочие часы для указанных дат.
public WorkUnit GetWorkingHours(DateTime start, DateTime finish)
Параметры
start
DateTime
Дата начала.
finish
DateTime
Дата завершения.
Возвращает
Рабочие часы.
GetWorkingHours(DateTime)
Возвращает количество рабочих часов на дату.
public TimeSpan GetWorkingHours(DateTime dt)
Параметры
dt
DateTime
Дата, для которой нужно получить рабочие часы.
Возвращает
Рабочие часы.
GetWorkingTimes(DateTime)
Возвращает Aspose.Tasks.WorkingTimeCollection рабочих времен для указанной даты.
public WorkingTimeCollection GetWorkingTimes(DateTime dt)
Параметры
dt
DateTime
Дата, для которой нужно получить рабочие времена.
Возвращает
Список Aspose.Tasks.WorkingTime.
IsDayWorking(DateTime)
Определяет, является ли день рабочим днем.
public bool IsDayWorking(DateTime dt)
Параметры
dt
DateTime
Дата, для которой нужно проверить, является ли день рабочим.
Возвращает
True, если день является рабочим днем.
Make24HourCalendar(Calendar)
Делает данный календарь 24-часовым календарем.
24-часовой календарь — это календарь, в котором каждый день недели является рабочим с круглосуточным рабочим временем.
public static Calendar Make24HourCalendar(Calendar calendar)
Параметры
calendar
Calendar
Календарь, из которого нужно сделать 24-часовой календарь.
Возвращает
24-часовой календарь.
MakeNightShiftCalendar(Calendar)
Делает данный календарь ночным сменным календарем.
public static Calendar MakeNightShiftCalendar(Calendar calendar)
Параметры
calendar
Calendar
Календарь, из которого нужно сделать ночной сменный календарь.
Возвращает
Ночной сменный календарь.
MakeStandardCalendar(Calendar)
Создает стандартный календарь по умолчанию.
public static Calendar MakeStandardCalendar(Calendar calendar)
Параметры
calendar
Calendar
Календарь, из которого нужно сделать стандартный календарь.
Возвращает
Календарь с 5 рабочими днями (понедельник-пятница) с рабочими часами 8-12 и 13-17.