public DurationEndTimeInterval(Duration duration, TimePoint end) { if (duration == null) { throw new ArgumentNullException(nameof(duration)); } if (end == null) { throw new ArgumentNullException(nameof(end)); } _duration = duration; _end = end; }
public StartDurationTimeInterval(TimePoint start, Duration duration) { if (start == null) { throw new ArgumentNullException(nameof(start)); } if (duration == null) { throw new ArgumentNullException(nameof(duration)); } _start = start; _duration = duration; }
internal static string Serialize(TimePoint timePoint, ISO8601Options options) { if (options == null) { options = ISO8601Options.Default; } if (timePoint is CalendarDateTime) { return ((CalendarDateTime)timePoint).ToString(options); } if (timePoint is OrdinalDateTime) { return ((OrdinalDateTime)timePoint).ToString(options); } if (timePoint is WeekDateTime) { return ((WeekDateTime)timePoint).ToString(options); } if (timePoint is CalendarDate) { return ((CalendarDate)timePoint).ToString(options); } if (timePoint is OrdinalDate) { return ((OrdinalDate)timePoint).ToString(options); } if (timePoint is WeekDate) { return ((WeekDate)timePoint).ToString(options); } return ((Time)timePoint).ToString(options); }
public static TimePoint Add(TimePoint x, Duration y) { if (x is CalendarDateTime) { return Add((CalendarDateTime)x, y); } if (x is OrdinalDateTime) { return Add(((OrdinalDateTime)x).ToCalendarDateTime(), y); } if (x is WeekDateTime) { return Add(((WeekDateTime)x).ToCalendarDateTime(), y); } if (x is CalendarDate) { return Add((CalendarDate)x, y); } if (x is OrdinalDate) { return Add(((OrdinalDate)x).ToCalendarDate(), y); } if (x is WeekDate) { return Add(((WeekDate)x).ToCalendarDate(), y); } if (x is Time) { return Add((Time)x, y); } throw new InvalidOperationException($"A {y.GetType()} cannot be added to a {x.GetType()}."); }
public StartEndTimeInterval(TimePoint start, TimePoint end) { _start = start; _end = end; }
public static TimePoint Subtract(TimePoint x, Duration y) { if (x is CalendarDateTime) { return Subtract((CalendarDateTime)x, y); } if (x is OrdinalDateTime) { return Subtract(((OrdinalDateTime)x).ToCalendarDateTime(), y); } if (x is WeekDateTime) { return Subtract(((WeekDateTime)x).ToCalendarDateTime(), y); } if (x is CalendarDate) { return Subtract((CalendarDate)x, y); } if (x is OrdinalDate) { return Subtract(((OrdinalDate)x).ToCalendarDate(), y); } if (x is WeekDate) { return Subtract(((WeekDate)x).ToCalendarDate(), y); } if (x is Time) { return Subtract((Time)x, y); } throw new InvalidOperationException($"A {y.GetType()} cannot be subtracted from a {x.GetType()}."); }
internal static TimeSpan Subtract(Time later, TimePoint earlier) { if (earlier is Time) { return later - (Time)earlier; } throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}"); }
internal static TimeSpan Subtract(CalendarDateTime later, TimePoint earlier) { if (earlier is CalendarDateTime) { return later - (CalendarDateTime)earlier; } if (earlier is OrdinalDateTime) { return later - ((OrdinalDateTime)earlier).ToCalendarDateTime(); } if (earlier is WeekDateTime) { return later - ((WeekDateTime)earlier).ToCalendarDateTime(); } if (earlier is CalendarDate) { return later - (CalendarDate)earlier; } if (earlier is OrdinalDate) { return later - ((OrdinalDate)earlier).ToCalendarDate(); } if (earlier is WeekDate) { return later - ((WeekDate)earlier).ToCalendarDate(); } if (earlier is Time) { return later - (Time)earlier; } throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}"); }
public static TimeSpan Subtract(TimePoint later, TimePoint earlier) { if (later is CalendarDateTime) { return Subtract((CalendarDateTime)later, earlier); } if (later is OrdinalDateTime) { return Subtract(((OrdinalDateTime)later).ToCalendarDateTime(), earlier); } if (later is WeekDateTime) { return Subtract(((WeekDateTime)later).ToCalendarDateTime(), earlier); } if (later is CalendarDate) { return Subtract((CalendarDate)later, earlier); } if (later is OrdinalDate) { return Subtract(((OrdinalDate)later).ToCalendarDate(), earlier); } if (later is WeekDate) { return Subtract(((WeekDate)later).ToCalendarDate(), earlier); } if (later is Time) { return Subtract((Time)later, earlier); } throw new InvalidOperationException($"A {earlier.GetType()} cannot be subtracted from a {later.GetType()}"); }