Class Calendar

Class Calendar

Namespace: Aspose.Tasks
Assembly: Aspose.Tasks.dll (25.2.0)

表示在项目中使用的日历。

[ClassInterface(ClassInterfaceType.AutoDual)]
public class Calendar

继承

objectCalendar

继承的成员

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

示例

如何从头开始创建简单的日历。

// 创建空日历
Calendar calendar = new Calendar("新日历");
// 添加默认工作日(从9:00到17:00的8个工作小时)
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));
       ' 创建空日历
       Dim calendar As Calendar =  New Calendar("新日历")
       ' 添加默认工作日(从9:00到17:00的8个工作小时)
       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))

备注

日历用于定义标准的工作和非工作时间。
项目必须有一个基础日历。任务和资源可以有自己的非基础日历,这些日历基于基础日历。

属性

BaseCalendar

获取或设置此日历所依赖的基础日历。
仅在日历不是基础日历时适用。

public Calendar BaseCalendar { get; set; }

属性值

Calendar

Exceptions

获取 CalendarExceptionCollection 对象。
与日历相关的异常集合。

public CalendarExceptionCollection Exceptions { get; }

属性值

CalendarExceptionCollection

Guid

获取日历的 Guid。

public string Guid { get; }

属性值

string

IsBaseCalendar

获取一个值,指示该日历是否为基础日历。

public bool IsBaseCalendar { get; }

属性值

bool

IsBaselineCalendar

获取或设置一个值,指示该日历是否为基线日历。

public bool IsBaselineCalendar { get; set; }

属性值

bool

Name

获取或设置日历的名称。

public string Name { get; set; }

属性值

string

Uid

获取或设置日历的唯一标识符。

public int Uid { get; set; }

属性值

int

WeekDays

获取此日历的 WeekDaysCollection。
定义日历的工作日集合。

public WeekDayCollection WeekDays { get; }

属性值

WeekDayCollection

WorkWeeks

获取 WorkWeekCollections 对象。
与日历相关的工作周集合。

public WorkWeekCollection WorkWeeks { get; }

属性值

WorkWeekCollection

方法

Delete()

从项目中移除日历。

public void Delete()

Equals(object)

返回一个值,指示此实例是否与指定对象相等。

public override bool Equals(object obj)

参数

obj object

要与此实例比较的对象。

返回

bool

True 如果 o 是一个具有与此实例相同 Uid 值的 Calendar;否则,false

GetFinishDateByStartAndWork(DateTime, Duration)

计算根据日历经过指定工作时间的日期。

public DateTime GetFinishDateByStartAndWork(DateTime start, Duration work)

参数

start DateTime

开始日期。

work Duration

工作持续时间。

返回

DateTime

完成日期。

GetFinishDateByStartAndWork(DateTime, TimeSpan)

计算根据日历经过指定工作时间的日期。

public DateTime GetFinishDateByStartAndWork(DateTime start, TimeSpan work)

参数

start DateTime

开始日期。

work TimeSpan

工作持续时间。

返回

DateTime

完成日期。

GetHashCode()

返回该类实例的哈希代码。

public override int GetHashCode()

返回

int

该对象的哈希代码。

GetNextWorkingDayStart(DateTime)

从日期计算下一个工作日的开始时间。

public DateTime GetNextWorkingDayStart(DateTime date)

参数

date DateTime

要获取下一个工作日开始的日期。

返回

DateTime

下一个工作日的开始时间 System.DateTime。

GetPreviousWorkingDayEnd(DateTime)

从指定日期计算上一个工作日的结束时间。

public DateTime GetPreviousWorkingDayEnd(DateTime date)

参数

date DateTime

指定的 System.DateTime 结构实例。

返回

DateTime

上一个工作日的结束时间 System.DateTime。

GetStartDateFromFinishAndDuration(DateTime, Duration)

根据指定的完成日期和持续时间返回开始日期。

public DateTime GetStartDateFromFinishAndDuration(DateTime finish, Duration duration)

参数

finish DateTime

指定的完成日期。

duration Duration

指定的工作持续时间。

返回

DateTime

计算出的开始日期。

GetStartDateFromFinishAndDuration(DateTime, TimeSpan)

根据指定的完成日期和持续时间返回开始日期。

public DateTime GetStartDateFromFinishAndDuration(DateTime finish, TimeSpan duration)

参数

finish DateTime

指定的完成日期。

duration TimeSpan

指定的工作持续时间。

返回

DateTime

计算出的开始日期。

GetTaskFinishDateFromDuration(Task, TimeSpan)

根据其开始日期、拆分部分和持续时间计算任务的完成日期和时间。

public DateTime GetTaskFinishDateFromDuration(Task task, TimeSpan duration)

参数

task Task

要获取完成日期的任务。

duration TimeSpan

要拆分的任务持续时间。

返回

DateTime

任务的完成日期。

备注

如果任务是摘要、null 或其开始日期未设置,则返回 DateTime.MinValue。

GetWorkingHours(DateTime, DateTime)

返回指定日期的工作小时。

public WorkUnit GetWorkingHours(DateTime start, DateTime finish)

参数

start DateTime

开始日期。

finish DateTime

结束日期。

返回

WorkUnit

工作小时。

GetWorkingHours(DateTime)

返回指定日期的工作小时数。

public TimeSpan GetWorkingHours(DateTime dt)

参数

dt DateTime

要获取工作小时的日期。

返回

TimeSpan

工作小时。

GetWorkingTimes(DateTime)

返回指定日期的 Aspose.Tasks.WorkingTimeCollection 工作时间。

public WorkingTimeCollection GetWorkingTimes(DateTime dt)

参数

dt DateTime

要获取工作时间的日期。

返回

WorkingTimeCollection

Aspose.Tasks.WorkingTime 的列表。

IsDayWorking(DateTime)

确定该天是否为工作日。

public bool IsDayWorking(DateTime dt)

参数

dt DateTime

要检查是否为工作日的日期。

返回

bool

如果该天是工作日则为真。

Make24HourCalendar(Calendar)

将给定日历设置为 24 小时日历。
24 小时日历是一个每周的每一天都在全天候工作时间的日历。

public static Calendar Make24HourCalendar(Calendar calendar)

参数

calendar Calendar

要从中制作 24 小时日历的日历。

返回

Calendar

24 小时日历。

MakeNightShiftCalendar(Calendar)

将给定日历设置为夜班日历。

public static Calendar MakeNightShiftCalendar(Calendar calendar)

参数

calendar Calendar

要制作夜班日历的日历。

返回

Calendar

夜班日历。

MakeStandardCalendar(Calendar)

创建默认标准日历。

public static Calendar MakeStandardCalendar(Calendar calendar)

参数

calendar Calendar

要从中制作标准日历的日历。

返回

Calendar

具有 5 个工作日(周一至周五),工作时间为 8-12 和 13-17 的日历。

 中文