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("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("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))
หมายเหตุ
ปฏิทินใช้เพื่อกำหนดเวลาทำงานและเวลาที่ไม่ทำงานตามมาตรฐาน โครงการต้องมีปฏิทินพื้นฐานหนึ่งรายการ งานและทรัพยากรสามารถมีปฏิทินที่ไม่ใช่พื้นฐานของตนเองซึ่งอิงจากปฏิทินพื้นฐาน
คุณสมบัติ
BaseCalendar
รับหรือกำหนดปฏิทินพื้นฐานที่ปฏิทินนี้ขึ้นอยู่กับ โดยจะใช้ได้เฉพาะเมื่อปฏิทินไม่ใช่ปฏิทินพื้นฐาน
public Calendar BaseCalendar { get; set; }
ค่าคุณสมบัติ
Exceptions
รับ CalendarExceptionCollection object คอลเลกชันของข้อยกเว้นที่เกี่ยวข้องกับปฏิทิน
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 object คอลเลกชันของสัปดาห์ทำงานที่เกี่ยวข้องกับปฏิทิน
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 ชั่วโมงคือปฏิทินที่ทุกวันในสัปดาห์ทำงานตลอด 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