Class Calendar
内容
[
隐藏
]Calendar class
表示项目中使用的日历。
public class Calendar
特性
姓名 | 描述 |
---|---|
BaseCalendar { get; set; } | 获取或设置此日历所依赖的基准日历。 仅在日历不是基准日历时适用。 |
Exceptions { get; } | 获取 CalendarExceptionCollection 对象。 与日历关联的异常集合。 |
IsBaseCalendar { get; } | 获取日历是否为基准日历的值。 |
IsBaselineCalendar { get; set; } | 获取或设置一个值,指示日历是否为基准日历。 |
Name { get; set; } | 获取或设置日历的名称。 |
Uid { get; set; } | 获取或设置日历的唯一标识符。 |
WeekDays { get; } | 获取此日历的 WeekDaysCollection。 定义日历的工作日集合。 |
WorkWeeks { get; } | 获取 WorkWeekCollections 对象。 与日历关联的工作周集合。 |
方法
姓名 | 描述 |
---|---|
static Make24HourCalendar(Calendar) | 使给定的日历成为 24 小时制日历。 24 小时制日历是一个日历,其中一周中的每一天都在全天候工作。 |
static MakeNightShiftCalendar(Calendar) | 将给定的日历设为夜班日历。 |
static MakeStandardCalendar(Calendar) | 创建默认标准日历。 |
Delete() | 从项目中删除日历。 |
override Equals(object) | 返回一个值,指示此实例是否等于指定对象。 |
GetFinishDateByStartAndWork(DateTime, Duration) | 根据日历计算指定的工作时间将过去的日期。 |
GetFinishDateByStartAndWork(DateTime, TimeSpan) | 根据日历计算指定的工作时间将过去的日期。 |
override GetHashCode() | 返回类实例的哈希码。 |
GetNextWorkingDayStart(DateTime) | 计算从日期开始的下一个工作日。 |
GetPreviousWorkingDayEnd(DateTime) | 计算从指定日期开始的上一个工作日期。 |
GetStartDateFromFinishAndDuration(DateTime, Duration) | 根据指定的 FinishDate 和 Duration 返回 StartDate。 |
GetStartDateFromFinishAndDuration(DateTime, TimeSpan) | 根据指定的 FinishDate 和 Duration 返回 StartDate。 |
GetTaskFinishDateFromDuration(Task, TimeSpan) | 从开始日期、拆分部分和持续时间计算任务完成日期和时间。 |
GetWorkingHours(DateTime) | 返回日期的工作小时数。 |
GetWorkingHours(DateTime, DateTime) | 返回指定日期的工作时间。 |
GetWorkingTimes(DateTime) | 返回WorkingTimeCollection 指定日期的工作时间. |
IsDayWorking(DateTime) | 判断当天是否为工作日。 |
评论
日历用于定义标准工作时间和非工作时间。 项目必须有一个基准日历。任务和资源可以有 它们自己的基于基准日历的非基准日历。
例子
如何从头开始创建简单的日历。
[C#]
// 创建空日历
Calendar calendar = new 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));
[VB]
'创建空日历
Dim calendar As Calendar = New 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))
也可以看看
- 命名空间 Aspose.Tasks
- 部件 Aspose.Tasks