private TimeSpan GetTimeSpan(ZonedDateTime dateTime) { if (IsAllDay) { return dateTime.DateTime.TimeOfDay; } else { var localDateTime = dateTime.ToLocalTime(); return localDateTime.TimeOfDay; } }
private static void SetTimeSpan(ZonedDateTime dateTime, TimeSpan timeSpan) { var localDateTime = dateTime.ToLocalTime(); localDateTime = localDateTime.Date + timeSpan; dateTime.DateTime = localDateTime.ToUtcTime(); }
private void SetTime(ZonedDateTime current, DateTimeOffset value) { if (IsAllDay) { current.DateTime = value.Date; } else { var local = current.ToLocalTime(); var newTime = value.Date + local.TimeOfDay; current.DateTime = newTime.ToUtcTime(); } }